Class StaticFactoryInstanceBuilder<T>
- java.lang.Object
-
- com.tangosol.coherence.config.builder.StaticFactoryInstanceBuilder<T>
-
- All Implemented Interfaces:
ParameterizedBuilder<T>,ParameterizedBuilder.ReflectionSupport,ExternalizableLite,PortableObject,Serializable
public class StaticFactoryInstanceBuilder<T> extends Object implements ParameterizedBuilder<T>, ParameterizedBuilder.ReflectionSupport, ExternalizableLite, PortableObject
AStaticFactoryInstanceBuilderis aParameterizedBuilderthat has been configured to realize objects based on the properties defined by an <instance> configuration element that uses the static <class-factory-name> approach.- Since:
- Coherence 12.1.2
- Author:
- bo 2011.06.24
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.tangosol.coherence.config.builder.ParameterizedBuilder
ParameterizedBuilder.ReflectionSupport
-
-
Constructor Summary
Constructors Constructor Description StaticFactoryInstanceBuilder()Construct aStaticFactoryInstanceBuilder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ClassLoaderensureClassLoader(ClassLoader loader)Ensures we have a non-nullClassLoaderthat we can use for loading classes.Expression<String>getFactoryClassName()Return theExpressionthat when evaluated will produce the name of the class containing a static factory method that will realize instances for thisParameterizedBuilder.Expression<String>getFactoryMethodName()Return theExpressionthat when evaluated will produce the name of the factory class static method that will realize instances for thisParameterizedBuilder.ParameterListgetFactoryMethodParameters()Returns theParameterListto use to resolve factory method 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.voidreadExternal(DataInput in)Restore the contents of this object by loading the object's state from the passed DataInput object.Trealize(ParameterResolver resolver, ClassLoader loader, ParameterList listMethodParameters)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).voidsetFactoryClassName(Expression<String> exprFactoryClassName)Sets theExpressionthat when evaluated will produce the name of the class containing a static factory method that will realize instances for thisParameterizedBuilder.voidsetFactoryMethodName(Expression<String> exprFactoryMethodName)Set theExpressionthat when evaluated will produce the name of the factory class static method that will realize instances for thisParameterizedBuilder.voidsetFactoryMethodParameters(ParameterList listParameters)Sets theParameterListto use to resolve factory method parameters when realizing the class.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 Detail
-
StaticFactoryInstanceBuilder
public StaticFactoryInstanceBuilder()
Construct aStaticFactoryInstanceBuilder.
-
-
Method Detail
-
getFactoryClassName
public Expression<String> getFactoryClassName()
Return theExpressionthat when evaluated will produce the name of the class containing a static factory method that will realize instances for thisParameterizedBuilder.- Returns:
- the factory class name
Expression
-
setFactoryClassName
@Injectable("class-factory-name") public void setFactoryClassName(Expression<String> exprFactoryClassName)
Sets theExpressionthat when evaluated will produce the name of the class containing a static factory method that will realize instances for thisParameterizedBuilder.- Parameters:
exprFactoryClassName- theExpression
-
getFactoryMethodName
public Expression<String> getFactoryMethodName()
Return theExpressionthat when evaluated will produce the name of the factory class static method that will realize instances for thisParameterizedBuilder.- Returns:
- the factory method name
Expression
-
setFactoryMethodName
@Injectable("method-name") public void setFactoryMethodName(Expression<String> exprFactoryMethodName)
Set theExpressionthat when evaluated will produce the name of the factory class static method that will realize instances for thisParameterizedBuilder.- Parameters:
exprFactoryMethodName- theExpression
-
getFactoryMethodParameters
public ParameterList getFactoryMethodParameters()
Returns theParameterListto use to resolve factory method parameters when realizing the class.- Returns:
- the
ParameterListfor method parameters
-
setFactoryMethodParameters
@Injectable("init-params") public void setFactoryMethodParameters(ParameterList listParameters)
Sets theParameterListto use to resolve factory method parameters when realizing the class.- Parameters:
listParameters- theParameterListfor method parameters
-
ensureClassLoader
protected ClassLoader ensureClassLoader(ClassLoader loader)
Ensures we have a non-nullClassLoaderthat we can use for loading classes.- Parameters:
loader- the proposedClassLoader, which may benull- Returns:
- a non-null
ClassLoader
-
realize
public T realize(ParameterResolver resolver, ClassLoader loader, ParameterList listMethodParameters)
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 insteadlistMethodParameters- an optionalParameterList(may benull) to be used for realizing the instance, eg: used as constructor parameters- Returns:
- an instance of T
-
realizes
public boolean realizes(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).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
-
readExternal
public void readExternal(DataInput in) throws IOException
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
public void writeExternal(DataOutput out) throws IOException
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
public void readExternal(PofReader reader) throws IOException
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
public void writeExternal(PofWriter writer) throws IOException
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
-
-