Class SimpleParameterizedBuilderRegistry
java.lang.Object
com.tangosol.coherence.config.builder.SimpleParameterizedBuilderRegistry
- All Implemented Interfaces:
Disposable,ParameterizedBuilderRegistry,AutoCloseable,Iterable<ParameterizedBuilderRegistry.Registration>
public class SimpleParameterizedBuilderRegistry
extends Object
implements ParameterizedBuilderRegistry
A basic implementation of a
ParameterizedBuilderRegistry.- Since:
- Coherence 12.1.3
- Author:
- bo 2014.10.27
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classAn internalParameterizedBuilderRegistry.Registrationimplementation.protected classKey class for a registered resource.protected classA holder for aParameterizedBuilder.Nested classes/interfaces inherited from interface com.tangosol.coherence.config.builder.ParameterizedBuilderRegistry
ParameterizedBuilderRegistry.Registration<T> -
Field Summary
Fields inherited from interface com.tangosol.coherence.config.builder.ParameterizedBuilderRegistry
DEFAULT_NAME -
Constructor Summary
ConstructorsConstructorDescriptionConstructs aSimpleParameterizedBuilderRegistry.Constructs aSimpleParameterizedBuilderRegistrygiven another one. -
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()Invoked when all resources owned by the implementer can safely be released.<T> ParameterizedBuilder<T>getBuilder(Class<T> clzInstance) Attempts to retrieve the builder that was registered with the specified class.<T> ParameterizedBuilder<T>getBuilder(Class<T> clzInstance, String sBuilderName) Attempts to retrieve the builder that was registered with the specified class and name.booleanisEmpty()Determine if theParameterizedBuilderRegistryis empty (contains no registrations).iterator()<T> StringregisterBuilder(Class<T> clzInstance, ParameterizedBuilder<? extends T> builder) Registers aParameterizedBuilderfor later retrieval withParameterizedBuilderRegistry.getBuilder(Class).<T> StringregisterBuilder(Class<T> clzInstance, String sBuilderName, ParameterizedBuilder<? extends T> builder) Registers aParameterizedBuilderwith the specified name for later retrieval withParameterizedBuilderRegistry.getBuilder(Class, String).Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.oracle.coherence.common.base.Disposable
closeMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
SimpleParameterizedBuilderRegistry
public SimpleParameterizedBuilderRegistry()Constructs aSimpleParameterizedBuilderRegistry. -
SimpleParameterizedBuilderRegistry
Constructs aSimpleParameterizedBuilderRegistrygiven another one.- Parameters:
registry- the registry to copy
-
-
Method Details
-
isEmpty
public boolean isEmpty()Determine if theParameterizedBuilderRegistryis empty (contains no registrations).- Returns:
- true if the registry contains no registrations
-
dispose
public void dispose()Description copied from interface:DisposableInvoked when all resources owned by the implementer can safely be released.Once disposed of the object should no longer be considered to be usable.
Note the Disposable interface is compatible with try-with-resources which will automatically invoke this method.
- Specified by:
disposein interfaceDisposable
-
getBuilder
Description copied from interface:ParameterizedBuilderRegistryAttempts to retrieve the builder that was registered with the specified class.- Specified by:
getBuilderin interfaceParameterizedBuilderRegistry- Type Parameters:
T- the type of the instance that will be produced by the builder- Parameters:
clzInstance- the class of the instance- Returns:
- the registered builder or
nullif the builder is unknown to theParameterizedBuilderRegistry
-
getBuilder
Description copied from interface:ParameterizedBuilderRegistryAttempts to retrieve the builder that was registered with the specified class and name.- Specified by:
getBuilderin interfaceParameterizedBuilderRegistry- Type Parameters:
T- the type of the instance that will be produced by the builder- Parameters:
clzInstance- the class of the instancesBuilderName- the name of the builder- Returns:
- the registered builder or
nullif the builder is unknown to theParameterizedBuilderRegistry
-
registerBuilder
public <T> String registerBuilder(Class<T> clzInstance, ParameterizedBuilder<? extends T> builder) throws IllegalArgumentException Description copied from interface:ParameterizedBuilderRegistryRegisters aParameterizedBuilderfor later retrieval withParameterizedBuilderRegistry.getBuilder(Class).Notes:
- Multiple builders for the same class can be registered if each
builder is registered with a unique name via
ParameterizedBuilderRegistry.registerBuilder(Class, String, ParameterizedBuilder) - Registration of builders will occur in a thread-safe manner.
- Builders that are
Disposablewill be disposed when theParameterizedBuilderRegistryis disposed.
- Specified by:
registerBuilderin interfaceParameterizedBuilderRegistry- Parameters:
clzInstance- the class of instances produced by the builderbuilder- the builder- Returns:
- the actual name used to register the builder
- Throws:
IllegalArgumentException- if a builder of the same specified type is already registered
- Multiple builders for the same class can be registered if each
builder is registered with a unique name via
-
registerBuilder
public <T> String registerBuilder(Class<T> clzInstance, String sBuilderName, ParameterizedBuilder<? extends T> builder) throws IllegalArgumentException Description copied from interface:ParameterizedBuilderRegistryRegisters aParameterizedBuilderwith the specified name for later retrieval withParameterizedBuilderRegistry.getBuilder(Class, String).Notes:
- Registration of builders will occur in a thread-safe manner.
- Builders that are
Disposablewill be disposed when theParameterizedBuilderRegistryis disposed.
- Specified by:
registerBuilderin interfaceParameterizedBuilderRegistry- Parameters:
clzInstance- the class of instances produced by the buildersBuilderName- the proposed name of the builderbuilder- the builder- Returns:
- the actual name used to register the builder
- Throws:
IllegalArgumentException- if a builder of the same specified type and name is already registered
-
iterator
- Specified by:
iteratorin interfaceIterable<ParameterizedBuilderRegistry.Registration>
-