Class TextTokenizerRegistryImpl
- java.lang.Object
-
- com.apple.foundationdb.record.provider.common.text.TextTokenizerRegistryImpl
-
- All Implemented Interfaces:
TextTokenizerRegistry
@API(EXPERIMENTAL) public class TextTokenizerRegistryImpl extends Object implements TextTokenizerRegistry
Default implementation of theTextTokenizerRegistry
. It uses the class loader to determine whichTextTokenizerFactory
implementation exist, and it populates the registry with those tokenizers. An instance of this registry is used by theTextIndexMaintainer
in order to choose the tokenizer for a block of text. One can therefore register additional tokenizers for that index by calling theregister
method on the singleton instance of this class and supplying the additional tokenizer.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<String,TextTokenizerFactory>
getRegistry()
Returns all registered tokenizers.TextTokenizer
getTokenizer(String name)
Gets the tokenizer of the given name.static TextTokenizerRegistry
instance()
void
register(TextTokenizerFactory tokenizerFactory)
Registers a new tokenizer in this registry.void
reset()
Clears the registry and reloads tokenizers from the classpath.
-
-
-
Method Detail
-
instance
@Nonnull public static TextTokenizerRegistry instance()
-
getRegistry
@Nonnull public Map<String,TextTokenizerFactory> getRegistry()
Description copied from interface:TextTokenizerRegistry
Returns all registered tokenizers.- Specified by:
getRegistry
in interfaceTextTokenizerRegistry
- Returns:
- a map from tokenizer name to
TextTokenizerFactory
-
getTokenizer
@Nonnull public TextTokenizer getTokenizer(@Nullable String name)
Description copied from interface:TextTokenizerRegistry
Gets the tokenizer of the given name. Ifname
isnull
, it returns an instance of theDefaultTextTokenizer
.- Specified by:
getTokenizer
in interfaceTextTokenizerRegistry
- Parameters:
name
- the name of the tokenizer to retrieve- Returns:
- the tokenizer registered with the given name
-
register
public void register(@Nonnull TextTokenizerFactory tokenizerFactory)
Description copied from interface:TextTokenizerRegistry
Registers a new tokenizer in this registry. The tokenizer should have a different name from all tokenizers that are currently registered. This will throw an error if there is already a tokenizer present that is not pointer-equal to thetokenizerFactory
parameter given.- Specified by:
register
in interfaceTextTokenizerRegistry
- Parameters:
tokenizerFactory
- new tokenizer to register
-
reset
public void reset()
Description copied from interface:TextTokenizerRegistry
Clears the registry and reloads tokenizers from the classpath. This is intended mainly for testing purposes (to avoid having one test add a tokenizer to the registry that another test cannot override).- Specified by:
reset
in interfaceTextTokenizerRegistry
-
-