Class InstanceBuilder<T>
java.lang.Object
com.tangosol.coherence.config.builder.InstanceBuilder<T>
- All Implemented Interfaces:
ParameterizedBuilder<T>,ParameterizedBuilder.ReflectionSupport,ExternalizableLite,PortableObject,Serializable
public class InstanceBuilder<T>
extends Object
implements ParameterizedBuilder<T>, ParameterizedBuilder.ReflectionSupport, ExternalizableLite, PortableObject
An
InstanceBuilder is a ParameterizedBuilder implementation that additionally supports injection
based on Coherence <instance%gt; or <class-scheme> configurations.
While supporting injection this class may also be used in situations where a ParameterizedBuilder is
required (must be passed) for a known type of the class.
For example, if you need a ParameterizedBuilder for a java.awt.Point class, but you don't
want to create an anonymous ParameterizedBuilder implementation for a Point, you can use the following:
new InstanceBuilder(Point.class);
Further you may also provide constructor parameters as follows:
new InstanceBuilder(Point.class, 10, 12);
- Since:
- Coherence 12.1.2
- Author:
- bo 2011.06.24
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.tangosol.coherence.config.builder.ParameterizedBuilder
ParameterizedBuilder.ReflectionSupport -
Constructor Summary
ConstructorsConstructorDescriptionConstruct anInstanceBuilder.InstanceBuilder(Expression<String> exprClassName, Object... aConstructorParameters) Constructs aInstanceBuilderthat will realize an instance of the specifically named class.InstanceBuilder(Class<?> clzToRealize, Object... aConstructorParameters) Constructs aInstanceBuilderthat will realize an instance of the specifiedClass.InstanceBuilder(String sClassName, Object... aConstructorParameters) Constructs aInstanceBuilderthat will realize an instance of the specifically named class. -
Method Summary
Modifier and TypeMethodDescriptionReturn the expression representing the name of the class this builder will attempt to instantiate.Return theParameterListto be used for constructor parameters when realizing the class.voidreadExternal(PofReader reader) Restore the contents of a user type instance by reading its state using the specified PofReader object.voidRestore the contents of this object by loading the object's state from the passed DataInput object.realize(ParameterResolver resolver, ClassLoader loader, ParameterList listConstructorParameters) Realizes (creates if necessary) an instance of a object of type T, using the providedParameterResolverto resolve values any referencedParameters.booleanrealizes(Class<?> clzClass, ParameterResolver resolver, ClassLoader loader) Determines if theParameterizedBuilderwill realize an instance of the specified class (without requiring the builder to actually realize an object).voidsetClassName(Expression<String> exprClassName) Sets theExpressionthat when evaluated will produce the name of the class to realize.voidsetConstructorParameterList(ParameterList listParameters) Sets theParameterListto be used for constructor parameters when realizing the class.toString()voidwriteExternal(PofWriter writer) Save the contents of a POF user type instance by writing its state using the specified PofWriter object.voidwriteExternal(DataOutput out) Save the contents of this object by storing the object's state into the passed DataOutput object.
-
Constructor Details
-
InstanceBuilder
public InstanceBuilder()Construct anInstanceBuilder. -
InstanceBuilder
Constructs aInstanceBuilderthat will realize an instance of the specifiedClass.- Parameters:
clzToRealize- theClassto realizeaConstructorParameters- the optional constructor parameters
-
InstanceBuilder
Constructs aInstanceBuilderthat will realize an instance of the specifically named class.- Parameters:
exprClassName- anExpressionthat when evaluated will return the class name to realizeaConstructorParameters- the optional constructor parameters
-
InstanceBuilder
Constructs aInstanceBuilderthat will realize an instance of the specifically named class.- Parameters:
sClassName- the name of the class to realizeaConstructorParameters- the optional constructor parameters
-
-
Method Details
-
getClassName
Return the expression representing the name of the class this builder will attempt to instantiate.- Returns:
- an expression representing the class name
-
setClassName
Sets theExpressionthat when evaluated will produce the name of the class to realize.- Parameters:
exprClassName- theExpression
-
getConstructorParameterList
Return theParameterListto be used for constructor parameters when realizing the class.- Returns:
- the
ParameterListfor the constructor
-
setConstructorParameterList
Sets theParameterListto be used for constructor parameters when realizing the class.- Parameters:
listParameters- theParameterListfor the constructor
-
realize
public T realize(ParameterResolver resolver, ClassLoader loader, ParameterList listConstructorParameters) Realizes (creates if necessary) an instance of a object of type T, using the providedParameterResolverto resolve values any referencedParameters.- Specified by:
realizein interfaceParameterizedBuilder<T>- Parameters:
resolver- theParameterResolverfor resolving namedParametersloader- theClassLoaderfor loading any necessary classes and ifnulltheClassLoaderused to load the builder will be used insteadlistConstructorParameters- an optionalParameterList(may benull) to be used for realizing the instance, eg: used as constructor parameters- Returns:
- an instance of T
-
realizes
Determines if theParameterizedBuilderwill realize an instance of the specified class (without requiring the builder to actually realize an object).This method is synonymous with the Java keyword
instanceofbut allows dynamic runtime type querying of the types of objects a builder may realize.- Specified by:
realizesin interfaceParameterizedBuilder.ReflectionSupport- Parameters:
clzClass- the expected typeresolver- theParameterResolverto use for resolving necessaryParametersloader- theClassLoaderfor loading any necessary classes and ifnulltheClassLoaderused to load the builder will be used instead- Returns:
trueif theParameterizedBuilderwill realize an instance of the class,falseotherwise
-
toString
-
readExternal
Restore the contents of this object by loading the object's state from the passed DataInput object.- Specified by:
readExternalin interfaceExternalizableLite- Parameters:
in- the DataInput stream to read data from in order to restore the state of this object- Throws:
IOException- if an I/O exception occursNotActiveException- if the object is not in its initial state, and therefore cannot be deserialized into
-
writeExternal
Save the contents of this object by storing the object's state into the passed DataOutput object.- Specified by:
writeExternalin interfaceExternalizableLite- Parameters:
out- the DataOutput stream to write the state of this object to- Throws:
IOException- if an I/O exception occurs
-
readExternal
Restore the contents of a user type instance by reading its state using the specified PofReader object.- Specified by:
readExternalin interfacePortableObject- Parameters:
reader- the PofReader from which to read the object's state- Throws:
IOException- if an I/O error occurs
-
writeExternal
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.- Specified by:
writeExternalin interfacePortableObject- Parameters:
writer- the PofWriter to which to write the object's state- Throws:
IOException- if an I/O error occurs
-