Package org.forgerock.opendj.ldap.schema
Interface Indexer
-
public interface Indexer
This class is registered with a Backend and it provides callbacks for indexing attribute values. An index implementation will use this interface to create the keys for an attribute value.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
createKeys(ByteSequence value, Consumer<ByteString> keyConsumer)
Generates the set of index keys for an attribute.String
getIndexId()
Returns an index identifier associated with this indexer.String
keyToHumanReadableString(ByteSequence key)
Returns a human readable representation of the key.
-
-
-
Method Detail
-
getIndexId
String getIndexId()
Returns an index identifier associated with this indexer. An identifier should be selected based on the matching rule type. A unique identifier will map to a unique index database in the backend implementation. If multiple matching rules need to share the index database, the corresponding indexers should always use the same identifier.- Returns:
- index ID A String containing the ID associated with this indexer.
-
createKeys
void createKeys(ByteSequence value, Consumer<ByteString> keyConsumer) throws DecodeException
Generates the set of index keys for an attribute.- Parameters:
value
- The attribute value for which keys are required.keyConsumer
- A consumer that will be invoked for each created keys.- Throws:
DecodeException
- if an error occurs while normalizing the value
-
keyToHumanReadableString
String keyToHumanReadableString(ByteSequence key)
Returns a human readable representation of the key. Does a best effort conversion from an index key to a string that can be printed, as used by the diagnostic tools, which are the only users of the method. It is not necessary for the resulting string to exactly match the value it was generated from.- Parameters:
key
- the byte string for the index key.- Returns:
- a human readable representation of the key
-
-