Interface PluggableBackendCfgClient
-
- All Superinterfaces:
BackendCfgClient,ConfigurationClient,LocalBackendCfgClient
- All Known Subinterfaces:
JEBackendCfgClient,PDBBackendCfgClient
public interface PluggableBackendCfgClient extends LocalBackendCfgClient
A client-side interface for reading and modifying Pluggable Backend settings.A Pluggable Backend stores application data in a pluggable database.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <C extends BackendIndexCfgClient>
CcreateBackendIndex(ManagedObjectDefinition<C,? extends BackendIndexCfg> d, String name, Collection<PropertyException> exceptions)Creates a new Backend Index.<C extends BackendVLVIndexCfgClient>
CcreateBackendVLVIndex(ManagedObjectDefinition<C,? extends BackendVLVIndexCfg> d, String name, Collection<PropertyException> exceptions)Creates a new Backend VLV Index.ManagedObjectDefinition<? extends PluggableBackendCfgClient,? extends PluggableBackendCfg>definition()Get the configuration definition associated with this Pluggable Backend.BackendIndexCfgClientgetBackendIndex(String name)Gets the named Backend Index.BackendVLVIndexCfgClientgetBackendVLVIndex(String name)Gets the named Backend VLV Index.intgetCipherKeyLength()Gets the "cipher-key-length" property.StringgetCipherTransformation()Gets the "cipher-transformation" property.LonggetImportOffheapMemorySize()Gets the "import-offheap-memory-size" property.intgetIndexEntryLimit()Gets the "index-entry-limit" property.intgetIndexFilterAnalyzerMaxFilters()Gets the "index-filter-analyzer-max-filters" property.longgetPreloadTimeLimit()Gets the "preload-time-limit" property.LocalBackendCfgDefn.WritabilityModegetWritabilityMode()Gets the "writability-mode" property.booleanisCompactEncoding()Gets the "compact-encoding" property.booleanisConfidentialityEnabled()Gets the "confidentiality-enabled" property.booleanisEntriesCompressed()Gets the "entries-compressed" property.booleanisIndexFilterAnalyzerEnabled()Gets the "index-filter-analyzer-enabled" property.String[]listBackendIndexes()Lists the Backend Indexes.String[]listBackendVLVIndexes()Lists the Backend VLV Indexes.voidremoveBackendIndex(String name)Removes the named Backend Index.voidremoveBackendVLVIndex(String name)Removes the named Backend VLV Index.voidsetCipherKeyLength(Integer value)Sets the "cipher-key-length" property.voidsetCipherTransformation(String value)Sets the "cipher-transformation" property.voidsetCompactEncoding(Boolean value)Sets the "compact-encoding" property.voidsetConfidentialityEnabled(Boolean value)Sets the "confidentiality-enabled" property.voidsetEntriesCompressed(Boolean value)Sets the "entries-compressed" property.voidsetImportOffheapMemorySize(Long value)Sets the "import-offheap-memory-size" property.voidsetIndexEntryLimit(Integer value)Sets the "index-entry-limit" property.voidsetIndexFilterAnalyzerEnabled(Boolean value)Sets the "index-filter-analyzer-enabled" property.voidsetIndexFilterAnalyzerMaxFilters(Integer value)Sets the "index-filter-analyzer-max-filters" property.voidsetPreloadTimeLimit(Long value)Sets the "preload-time-limit" property.voidsetWritabilityMode(LocalBackendCfgDefn.WritabilityMode value)Sets the "writability-mode" property.-
Methods inherited from interface org.forgerock.opendj.server.config.client.BackendCfgClient
getBackendId, getBaseDN, isEnabled, setBackendId, setBaseDN, setEnabled
-
Methods inherited from interface org.forgerock.opendj.config.ConfigurationClient
commit, properties
-
Methods inherited from interface org.forgerock.opendj.server.config.client.LocalBackendCfgClient
getJavaClass, setJavaClass
-
-
-
-
Method Detail
-
definition
ManagedObjectDefinition<? extends PluggableBackendCfgClient,? extends PluggableBackendCfg> definition()
Get the configuration definition associated with this Pluggable Backend.- Specified by:
definitionin interfaceBackendCfgClient- Specified by:
definitionin interfaceConfigurationClient- Specified by:
definitionin interfaceLocalBackendCfgClient- Returns:
- Returns the configuration definition associated with this Pluggable Backend.
-
getCipherKeyLength
int getCipherKeyLength()
Gets the "cipher-key-length" property.Specifies the key length in bits for the preferred cipher.
- Returns:
- Returns the value of the "cipher-key-length" property.
-
setCipherKeyLength
void setCipherKeyLength(Integer value) throws PropertyException
Sets the "cipher-key-length" property.Specifies the key length in bits for the preferred cipher.
- Parameters:
value- The value of the "cipher-key-length" property.- Throws:
PropertyException- If the new value is invalid.
-
getCipherTransformation
String getCipherTransformation()
Gets the "cipher-transformation" property.Specifies the cipher for the directory server. The syntax is "algorithm/mode/padding".
The full transformation is required: specifying only an algorithm and allowing the cipher provider to supply the default mode and padding is not supported, because there is no guarantee these default values are the same among different implementations. Some cipher algorithms, including RC4 and ARCFOUR, do not have a mode or padding, and hence must be specified using NONE for the mode field and NoPadding for the padding field. For example, RC4/NONE/NoPadding.
- Returns:
- Returns the value of the "cipher-transformation" property.
-
setCipherTransformation
void setCipherTransformation(String value) throws PropertyException
Sets the "cipher-transformation" property.Specifies the cipher for the directory server. The syntax is "algorithm/mode/padding".
The full transformation is required: specifying only an algorithm and allowing the cipher provider to supply the default mode and padding is not supported, because there is no guarantee these default values are the same among different implementations. Some cipher algorithms, including RC4 and ARCFOUR, do not have a mode or padding, and hence must be specified using NONE for the mode field and NoPadding for the padding field. For example, RC4/NONE/NoPadding.
- Parameters:
value- The value of the "cipher-transformation" property.- Throws:
PropertyException- If the new value is invalid.
-
isCompactEncoding
boolean isCompactEncoding()
Gets the "compact-encoding" property.Indicates whether the backend should use a compact form when encoding entries by compressing the attribute descriptions and object class sets.
Note that this property applies only to the entries themselves and does not impact the index data.
- Returns:
- Returns the value of the "compact-encoding" property.
-
setCompactEncoding
void setCompactEncoding(Boolean value) throws PropertyException
Sets the "compact-encoding" property.Indicates whether the backend should use a compact form when encoding entries by compressing the attribute descriptions and object class sets.
Note that this property applies only to the entries themselves and does not impact the index data.
- Parameters:
value- The value of the "compact-encoding" property.- Throws:
PropertyException- If the new value is invalid.
-
isConfidentialityEnabled
boolean isConfidentialityEnabled()
Gets the "confidentiality-enabled" property.Indicates whether the backend should make entries in database files readable only by Directory Server.
Confidentiality is achieved by enrypting entries before writing them to the underlying storage. Entry encryption will protect data on disk from unauthorised parties reading the files; for complete protection, also set confidentiality for sensitive attributes indexes. The property cannot be set to false if some of the indexes have confidentiality set to true.
- Returns:
- Returns the value of the "confidentiality-enabled" property.
-
setConfidentialityEnabled
void setConfidentialityEnabled(Boolean value) throws PropertyException
Sets the "confidentiality-enabled" property.Indicates whether the backend should make entries in database files readable only by Directory Server.
Confidentiality is achieved by enrypting entries before writing them to the underlying storage. Entry encryption will protect data on disk from unauthorised parties reading the files; for complete protection, also set confidentiality for sensitive attributes indexes. The property cannot be set to false if some of the indexes have confidentiality set to true.
- Parameters:
value- The value of the "confidentiality-enabled" property.- Throws:
PropertyException- If the new value is invalid.
-
isEntriesCompressed
boolean isEntriesCompressed()
Gets the "entries-compressed" property.Indicates whether the backend should attempt to compress entries before storing them in the database.
Note that this property applies only to the entries themselves and does not impact the index data. Further, the effectiveness of the compression is based on the type of data contained in the entry.
- Returns:
- Returns the value of the "entries-compressed" property.
-
setEntriesCompressed
void setEntriesCompressed(Boolean value) throws PropertyException
Sets the "entries-compressed" property.Indicates whether the backend should attempt to compress entries before storing them in the database.
Note that this property applies only to the entries themselves and does not impact the index data. Further, the effectiveness of the compression is based on the type of data contained in the entry.
- Parameters:
value- The value of the "entries-compressed" property.- Throws:
PropertyException- If the new value is invalid.
-
getImportOffheapMemorySize
Long getImportOffheapMemorySize()
Gets the "import-offheap-memory-size" property.Specifies the amount of off-heap memory dedicated to the online operation (import-ldif, rebuild-index).
- Returns:
- Returns the value of the "import-offheap-memory-size" property.
-
setImportOffheapMemorySize
void setImportOffheapMemorySize(Long value) throws PropertyException
Sets the "import-offheap-memory-size" property.Specifies the amount of off-heap memory dedicated to the online operation (import-ldif, rebuild-index).
- Parameters:
value- The value of the "import-offheap-memory-size" property.- Throws:
PropertyException- If the new value is invalid.
-
getIndexEntryLimit
int getIndexEntryLimit()
Gets the "index-entry-limit" property.Specifies the maximum number of entries that is allowed to match a given index key before that particular index key is no longer maintained.
This property is analogous to the ALL IDs threshold in the Sun Java System Directory Server. Note that this is the default limit for the backend, and it may be overridden on a per-attribute basis.A value of 0 means there is no limit.
- Returns:
- Returns the value of the "index-entry-limit" property.
-
setIndexEntryLimit
void setIndexEntryLimit(Integer value) throws PropertyException
Sets the "index-entry-limit" property.Specifies the maximum number of entries that is allowed to match a given index key before that particular index key is no longer maintained.
This property is analogous to the ALL IDs threshold in the Sun Java System Directory Server. Note that this is the default limit for the backend, and it may be overridden on a per-attribute basis.A value of 0 means there is no limit.
- Parameters:
value- The value of the "index-entry-limit" property.- Throws:
PropertyException- If the new value is invalid.
-
isIndexFilterAnalyzerEnabled
boolean isIndexFilterAnalyzerEnabled()
Gets the "index-filter-analyzer-enabled" property.Indicates whether to gather statistical information about the search filters processed by the directory server while evaluating the usage of indexes.
Analyzing indexes requires gathering search filter usage patterns from user requests, especially for values as specified in the filters and subsequently looking the status of those values into the index files. When a search requests is processed, internal or user generated, a first phase uses indexes to find potential entries to be returned. Depending on the search filter, if the index of one of the specified attributes matches too many entries (exceeds the index entry limit), the search becomes non-indexed. In any case, all entries thus gathered (or the entire DIT) are matched against the filter for actually returning the search result.
- Returns:
- Returns the value of the "index-filter-analyzer-enabled" property.
-
setIndexFilterAnalyzerEnabled
void setIndexFilterAnalyzerEnabled(Boolean value) throws PropertyException
Sets the "index-filter-analyzer-enabled" property.Indicates whether to gather statistical information about the search filters processed by the directory server while evaluating the usage of indexes.
Analyzing indexes requires gathering search filter usage patterns from user requests, especially for values as specified in the filters and subsequently looking the status of those values into the index files. When a search requests is processed, internal or user generated, a first phase uses indexes to find potential entries to be returned. Depending on the search filter, if the index of one of the specified attributes matches too many entries (exceeds the index entry limit), the search becomes non-indexed. In any case, all entries thus gathered (or the entire DIT) are matched against the filter for actually returning the search result.
- Parameters:
value- The value of the "index-filter-analyzer-enabled" property.- Throws:
PropertyException- If the new value is invalid.
-
getIndexFilterAnalyzerMaxFilters
int getIndexFilterAnalyzerMaxFilters()
Gets the "index-filter-analyzer-max-filters" property.The maximum number of search filter statistics to keep.
When the maximum number of search filter is reached, the least used one will be deleted.
- Returns:
- Returns the value of the "index-filter-analyzer-max-filters" property.
-
setIndexFilterAnalyzerMaxFilters
void setIndexFilterAnalyzerMaxFilters(Integer value) throws PropertyException
Sets the "index-filter-analyzer-max-filters" property.The maximum number of search filter statistics to keep.
When the maximum number of search filter is reached, the least used one will be deleted.
- Parameters:
value- The value of the "index-filter-analyzer-max-filters" property.- Throws:
PropertyException- If the new value is invalid.
-
getPreloadTimeLimit
long getPreloadTimeLimit()
Gets the "preload-time-limit" property.Specifies the length of time that the backend is allowed to spend "pre-loading" data when it is initialized.
The pre-load process is used to pre-populate the database cache, so that it can be more quickly available when the server is processing requests. A duration of zero means there is no pre-load.
- Returns:
- Returns the value of the "preload-time-limit" property.
-
setPreloadTimeLimit
void setPreloadTimeLimit(Long value) throws PropertyException
Sets the "preload-time-limit" property.Specifies the length of time that the backend is allowed to spend "pre-loading" data when it is initialized.
The pre-load process is used to pre-populate the database cache, so that it can be more quickly available when the server is processing requests. A duration of zero means there is no pre-load.
- Parameters:
value- The value of the "preload-time-limit" property.- Throws:
PropertyException- If the new value is invalid.
-
getWritabilityMode
LocalBackendCfgDefn.WritabilityMode getWritabilityMode()
Gets the "writability-mode" property.Specifies the behavior that the backend should use when processing write operations.
- Specified by:
getWritabilityModein interfaceLocalBackendCfgClient- Returns:
- Returns the value of the "writability-mode" property.
-
setWritabilityMode
void setWritabilityMode(LocalBackendCfgDefn.WritabilityMode value) throws PropertyException
Sets the "writability-mode" property.Specifies the behavior that the backend should use when processing write operations.
- Specified by:
setWritabilityModein interfaceLocalBackendCfgClient- Parameters:
value- The value of the "writability-mode" property.- Throws:
PropertyException- If the new value is invalid.
-
listBackendIndexes
String[] listBackendIndexes() throws ConcurrentModificationException, org.forgerock.opendj.ldap.LdapException
Lists the Backend Indexes.- Returns:
- Returns an array containing the names of the Backend Indexes.
- Throws:
ConcurrentModificationException- If this Pluggable Backend has been removed from the server by another client.org.forgerock.opendj.ldap.LdapException- If any other error occurs.
-
getBackendIndex
BackendIndexCfgClient getBackendIndex(String name) throws DefinitionDecodingException, ManagedObjectDecodingException, ManagedObjectNotFoundException, ConcurrentModificationException, org.forgerock.opendj.ldap.LdapException
Gets the named Backend Index.- Parameters:
name- The name of the Backend Index to retrieve.- Returns:
- Returns the named Backend Index.
- Throws:
DefinitionDecodingException- If the named Backend Index was found but its type could not be determined.ManagedObjectDecodingException- If the named Backend Index was found but one or more of its properties could not be decoded.ManagedObjectNotFoundException- If the named Backend Index was not found on the server.ConcurrentModificationException- If this Pluggable Backend has been removed from the server by another client.org.forgerock.opendj.ldap.LdapException- If any other error occurs.
-
createBackendIndex
<C extends BackendIndexCfgClient> C createBackendIndex(ManagedObjectDefinition<C,? extends BackendIndexCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException
Creates a new Backend Index. The new Backend Index will initially not contain any property values (including mandatory properties). Once the Backend Index has been configured it can be added to the server using theConfigurationClient.commit()method.- Type Parameters:
C- The type of the Backend Index being created.- Parameters:
d- The definition of the Backend Index to be created.name- The name of the new Backend Index.exceptions- An optional collection in which to place anyPropertyExceptions that occurred whilst attempting to determine the default values of the Backend Index. This argument can benull.- Returns:
- Returns a new Backend Index configuration instance.
- Throws:
IllegalManagedObjectNameException- If the name of the new Backend Index is invalid.
-
removeBackendIndex
void removeBackendIndex(String name) throws ManagedObjectNotFoundException, OperationRejectedException, ConcurrentModificationException, org.forgerock.opendj.ldap.LdapException
Removes the named Backend Index.- Parameters:
name- The name of the Backend Index to remove.- Throws:
ManagedObjectNotFoundException- If the Backend Index does not exist.OperationRejectedException- If the server refuses to remove the Backend Index due to some server-side constraint which cannot be satisfied (for example, if it is referenced by another managed object).ConcurrentModificationException- If this Pluggable Backend has been removed from the server by another client.org.forgerock.opendj.ldap.LdapException- If any other error occurs.
-
listBackendVLVIndexes
String[] listBackendVLVIndexes() throws ConcurrentModificationException, org.forgerock.opendj.ldap.LdapException
Lists the Backend VLV Indexes.- Returns:
- Returns an array containing the names of the Backend VLV Indexes.
- Throws:
ConcurrentModificationException- If this Pluggable Backend has been removed from the server by another client.org.forgerock.opendj.ldap.LdapException- If any other error occurs.
-
getBackendVLVIndex
BackendVLVIndexCfgClient getBackendVLVIndex(String name) throws DefinitionDecodingException, ManagedObjectDecodingException, ManagedObjectNotFoundException, ConcurrentModificationException, org.forgerock.opendj.ldap.LdapException
Gets the named Backend VLV Index.- Parameters:
name- The name of the Backend VLV Index to retrieve.- Returns:
- Returns the named Backend VLV Index.
- Throws:
DefinitionDecodingException- If the named Backend VLV Index was found but its type could not be determined.ManagedObjectDecodingException- If the named Backend VLV Index was found but one or more of its properties could not be decoded.ManagedObjectNotFoundException- If the named Backend VLV Index was not found on the server.ConcurrentModificationException- If this Pluggable Backend has been removed from the server by another client.org.forgerock.opendj.ldap.LdapException- If any other error occurs.
-
createBackendVLVIndex
<C extends BackendVLVIndexCfgClient> C createBackendVLVIndex(ManagedObjectDefinition<C,? extends BackendVLVIndexCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException
Creates a new Backend VLV Index. The new Backend VLV Index will initially not contain any property values (including mandatory properties). Once the Backend VLV Index has been configured it can be added to the server using theConfigurationClient.commit()method.- Type Parameters:
C- The type of the Backend VLV Index being created.- Parameters:
d- The definition of the Backend VLV Index to be created.name- The name of the new Backend VLV Index.exceptions- An optional collection in which to place anyPropertyExceptions that occurred whilst attempting to determine the default values of the Backend VLV Index. This argument can benull.- Returns:
- Returns a new Backend VLV Index configuration instance.
- Throws:
IllegalManagedObjectNameException- If the name of the new Backend VLV Index is invalid.
-
removeBackendVLVIndex
void removeBackendVLVIndex(String name) throws ManagedObjectNotFoundException, OperationRejectedException, ConcurrentModificationException, org.forgerock.opendj.ldap.LdapException
Removes the named Backend VLV Index.- Parameters:
name- The name of the Backend VLV Index to remove.- Throws:
ManagedObjectNotFoundException- If the Backend VLV Index does not exist.OperationRejectedException- If the server refuses to remove the Backend VLV Index due to some server-side constraint which cannot be satisfied (for example, if it is referenced by another managed object).ConcurrentModificationException- If this Pluggable Backend has been removed from the server by another client.org.forgerock.opendj.ldap.LdapException- If any other error occurs.
-
-