public interface PluggableBackendCfgClient extends LocalBackendCfgClient
A Pluggable Backend stores application data in a pluggable database.
Modifier and Type | Method and Description |
---|---|
<C extends BackendIndexCfgClient> |
createBackendIndex(ManagedObjectDefinition<C,? extends BackendIndexCfg> d,
String name,
Collection<PropertyException> exceptions)
Creates a new Backend Index.
|
<C extends BackendVlvIndexCfgClient> |
createBackendVlvIndex(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.
|
BackendIndexCfgClient |
getBackendIndex(String name)
Gets the named Backend Index.
|
BackendVlvIndexCfgClient |
getBackendVlvIndex(String name)
Gets the named Backend Vlv Index.
|
SortedSet<Dn> |
getBaseDn()
Gets the "base-dn" property.
|
int |
getCipherKeyLength()
Gets the "cipher-key-length" property.
|
String |
getCipherTransformation()
Gets the "cipher-transformation" property.
|
Long |
getImportOffheapMemorySize()
Gets the "import-offheap-memory-size" property.
|
int |
getIndexEntryLimit()
Gets the "index-entry-limit" property.
|
int |
getIndexFilterAnalyzerMaxFilters()
Gets the "index-filter-analyzer-max-filters" property.
|
long |
getPreloadTimeLimit()
Gets the "preload-time-limit" property.
|
LocalBackendCfgDefn.WritabilityMode |
getWritabilityMode()
Gets the "writability-mode" property.
|
boolean |
isCompactEncoding()
Gets the "compact-encoding" property.
|
boolean |
isConfidentialityEnabled()
Gets the "confidentiality-enabled" property.
|
boolean |
isEntriesCompressed()
Gets the "entries-compressed" property.
|
boolean |
isIndexFilterAnalyzerEnabled()
Gets the "index-filter-analyzer-enabled" property.
|
String[] |
listBackendIndexes()
Lists the Backend Indexes.
|
String[] |
listBackendVlvIndexes()
Lists the Backend Vlv Indexes.
|
void |
removeBackendIndex(String name)
Removes the named Backend Index.
|
void |
removeBackendVlvIndex(String name)
Removes the named Backend Vlv Index.
|
void |
setBaseDn(Collection<Dn> values)
Sets the "base-dn" property.
|
void |
setCipherKeyLength(Integer value)
Sets the "cipher-key-length" property.
|
void |
setCipherTransformation(String value)
Sets the "cipher-transformation" property.
|
void |
setCompactEncoding(Boolean value)
Sets the "compact-encoding" property.
|
void |
setConfidentialityEnabled(Boolean value)
Sets the "confidentiality-enabled" property.
|
void |
setEntriesCompressed(Boolean value)
Sets the "entries-compressed" property.
|
void |
setImportOffheapMemorySize(Long value)
Sets the "import-offheap-memory-size" property.
|
void |
setIndexEntryLimit(Integer value)
Sets the "index-entry-limit" property.
|
void |
setIndexFilterAnalyzerEnabled(Boolean value)
Sets the "index-filter-analyzer-enabled" property.
|
void |
setIndexFilterAnalyzerMaxFilters(Integer value)
Sets the "index-filter-analyzer-max-filters" property.
|
void |
setPreloadTimeLimit(Long value)
Sets the "preload-time-limit" property.
|
void |
setWritabilityMode(LocalBackendCfgDefn.WritabilityMode value)
Sets the "writability-mode" property.
|
getBackendId, getJavaClass, isEnabled, setBackendId, setEnabled, setJavaClass
commit, properties
ManagedObjectDefinition<? extends PluggableBackendCfgClient,? extends PluggableBackendCfg> definition()
definition
in interface BackendCfgClient
definition
in interface ConfigurationClient
definition
in interface LocalBackendCfgClient
SortedSet<Dn> getBaseDn()
Specifies the base DN(s) for the data that the backend handles.
A single backend may be responsible for one or more base DNs. Note that no two backends may have the same base DN although one backend may have a base DN that is below a base DN provided by another backend (similar to the use of sub-suffixes in the Sun Java System Directory Server). If any of the base DNs is subordinate to a base DN for another backend, then all base DNs for that backend must be subordinate to that same base DN.
void setBaseDn(Collection<Dn> values) throws PropertyException
Specifies the base DN(s) for the data that the backend handles.
A single backend may be responsible for one or more base DNs. Note that no two backends may have the same base DN although one backend may have a base DN that is below a base DN provided by another backend (similar to the use of sub-suffixes in the Sun Java System Directory Server). If any of the base DNs is subordinate to a base DN for another backend, then all base DNs for that backend must be subordinate to that same base DN.
values
- The values of the "base-dn" property.PropertyException
- If one or more of the new values are invalid.int getCipherKeyLength()
Specifies the key length in bits for the preferred cipher.
void setCipherKeyLength(Integer value) throws PropertyException
Specifies the key length in bits for the preferred cipher.
value
- The value of the "cipher-key-length" property.PropertyException
- If the new value is invalid.String getCipherTransformation()
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.
void setCipherTransformation(String value) throws PropertyException
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.
value
- The value of the "cipher-transformation" property.PropertyException
- If the new value is invalid.boolean isCompactEncoding()
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.
void setCompactEncoding(Boolean value) throws PropertyException
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.
value
- The value of the "compact-encoding" property.PropertyException
- If the new value is invalid.boolean isConfidentialityEnabled()
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.
void setConfidentialityEnabled(Boolean value) throws PropertyException
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.
value
- The value of the "confidentiality-enabled" property.PropertyException
- If the new value is invalid.boolean isEntriesCompressed()
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.
void setEntriesCompressed(Boolean value) throws PropertyException
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.
value
- The value of the "entries-compressed" property.PropertyException
- If the new value is invalid.Long getImportOffheapMemorySize()
Specifies the amount of off-heap memory dedicated to the online operation (import-ldif, rebuild-index).
void setImportOffheapMemorySize(Long value) throws PropertyException
Specifies the amount of off-heap memory dedicated to the online operation (import-ldif, rebuild-index).
value
- The value of the "import-offheap-memory-size" property.PropertyException
- If the new value is invalid.int getIndexEntryLimit()
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. Changing the index entry limit significantly can result in serious performance degradation. Please read the documentation before changing this setting.
void setIndexEntryLimit(Integer value) throws PropertyException
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. Changing the index entry limit significantly can result in serious performance degradation. Please read the documentation before changing this setting.
value
- The value of the "index-entry-limit" property.PropertyException
- If the new value is invalid.boolean isIndexFilterAnalyzerEnabled()
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.
void setIndexFilterAnalyzerEnabled(Boolean value) throws PropertyException
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.
value
- The value of the "index-filter-analyzer-enabled" property.PropertyException
- If the new value is invalid.int getIndexFilterAnalyzerMaxFilters()
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.
void setIndexFilterAnalyzerMaxFilters(Integer value) throws PropertyException
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.
value
- The value of the "index-filter-analyzer-max-filters" property.PropertyException
- If the new value is invalid.long getPreloadTimeLimit()
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.
void setPreloadTimeLimit(Long value) throws PropertyException
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.
value
- The value of the "preload-time-limit" property.PropertyException
- If the new value is invalid.LocalBackendCfgDefn.WritabilityMode getWritabilityMode()
Specifies the behavior that the backend should use when processing write operations.
getWritabilityMode
in interface LocalBackendCfgClient
void setWritabilityMode(LocalBackendCfgDefn.WritabilityMode value) throws PropertyException
Specifies the behavior that the backend should use when processing write operations.
setWritabilityMode
in interface LocalBackendCfgClient
value
- The value of the "writability-mode" property.PropertyException
- If the new value is invalid.String[] listBackendIndexes() throws ConcurrentModificationException, LdapException
ConcurrentModificationException
- If this Pluggable Backend has been removed from the
server by another client.LdapException
- If any other error occurs.BackendIndexCfgClient getBackendIndex(String name) throws DefinitionDecodingException, ManagedObjectDecodingException, ManagedObjectNotFoundException, ConcurrentModificationException, LdapException
name
- The name of the Backend Index to retrieve.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.LdapException
- If any other error occurs.<C extends BackendIndexCfgClient> C createBackendIndex(ManagedObjectDefinition<C,? extends BackendIndexCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException
ConfigurationClient.commit()
method.C
- The type of the Backend Index being created.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 any PropertyException
s that occurred whilst attempting to
determine the default values of the Backend Index. This
argument can be null.
IllegalManagedObjectNameException
- If the name of the new Backend Index is invalid.void removeBackendIndex(String name) throws ManagedObjectNotFoundException, OperationRejectedException, ConcurrentModificationException, LdapException
name
- The name of the Backend Index to remove.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.LdapException
- If any other error occurs.String[] listBackendVlvIndexes() throws ConcurrentModificationException, LdapException
ConcurrentModificationException
- If this Pluggable Backend has been removed from the
server by another client.LdapException
- If any other error occurs.BackendVlvIndexCfgClient getBackendVlvIndex(String name) throws DefinitionDecodingException, ManagedObjectDecodingException, ManagedObjectNotFoundException, ConcurrentModificationException, LdapException
name
- The name of the Backend Vlv Index to retrieve.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.LdapException
- If any other error occurs.<C extends BackendVlvIndexCfgClient> C createBackendVlvIndex(ManagedObjectDefinition<C,? extends BackendVlvIndexCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException
ConfigurationClient.commit()
method.C
- The type of the Backend Vlv Index being created.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 any PropertyException
s that occurred whilst attempting to
determine the default values of the Backend Vlv Index.
This argument can be null.
IllegalManagedObjectNameException
- If the name of the new Backend Vlv Index is invalid.void removeBackendVlvIndex(String name) throws ManagedObjectNotFoundException, OperationRejectedException, ConcurrentModificationException, LdapException
name
- The name of the Backend Vlv Index to remove.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.LdapException
- If any other error occurs.Copyright 2010-2020 ForgeRock AS.