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
A
StaticFactoryInstanceBuilder
is a ParameterizedBuilder
that 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:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.tangosol.coherence.config.builder.ParameterizedBuilder
ParameterizedBuilder.ReflectionSupport
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected ClassLoader
ensureClassLoader
(ClassLoader loader) Ensures we have a non-nullClassLoader
that we can use for loading classes.Return theExpression
that when evaluated will produce the name of the class containing a static factory method that will realize instances for thisParameterizedBuilder
.Return theExpression
that when evaluated will produce the name of the factory class static method that will realize instances for thisParameterizedBuilder
.Returns theParameterList
to use to resolve factory method parameters when realizing the class.void
readExternal
(PofReader reader) Restore the contents of a user type instance by reading its state using the specified PofReader object.void
Restore the contents of this object by loading the object's state from the passed DataInput object.realize
(ParameterResolver resolver, ClassLoader loader, ParameterList listMethodParameters) Realizes (creates if necessary) an instance of a object of type T, using the providedParameterResolver
to resolve values any referencedParameter
s.boolean
realizes
(Class<?> clzClass, ParameterResolver resolver, ClassLoader loader) Determines if theParameterizedBuilder
will realize an instance of the specified class (without requiring the builder to actually realize an object).void
setFactoryClassName
(Expression<String> exprFactoryClassName) Sets theExpression
that when evaluated will produce the name of the class containing a static factory method that will realize instances for thisParameterizedBuilder
.void
setFactoryMethodName
(Expression<String> exprFactoryMethodName) Set theExpression
that when evaluated will produce the name of the factory class static method that will realize instances for thisParameterizedBuilder
.void
setFactoryMethodParameters
(ParameterList listParameters) Sets theParameterList
to use to resolve factory method parameters when realizing the class.void
writeExternal
(PofWriter writer) Save the contents of a POF user type instance by writing its state using the specified PofWriter object.void
writeExternal
(DataOutput out) Save the contents of this object by storing the object's state into the passed DataOutput object.
-
Constructor Details
-
StaticFactoryInstanceBuilder
public StaticFactoryInstanceBuilder()Construct aStaticFactoryInstanceBuilder
.
-
-
Method Details
-
getFactoryClassName
Return theExpression
that 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 theExpression
that when evaluated will produce the name of the class containing a static factory method that will realize instances for thisParameterizedBuilder
.- Parameters:
exprFactoryClassName
- theExpression
-
getFactoryMethodName
Return theExpression
that 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 theExpression
that when evaluated will produce the name of the factory class static method that will realize instances for thisParameterizedBuilder
.- Parameters:
exprFactoryMethodName
- theExpression
-
getFactoryMethodParameters
Returns theParameterList
to use to resolve factory method parameters when realizing the class.- Returns:
- the
ParameterList
for method parameters
-
setFactoryMethodParameters
Sets theParameterList
to use to resolve factory method parameters when realizing the class.- Parameters:
listParameters
- theParameterList
for method parameters
-
ensureClassLoader
Ensures we have a non-nullClassLoader
that 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 providedParameterResolver
to resolve values any referencedParameter
s.- Specified by:
realize
in interfaceParameterizedBuilder<T>
- Parameters:
resolver
- theParameterResolver
for resolving namedParameter
sloader
- theClassLoader
for loading any necessary classes and ifnull
theClassLoader
used 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
Determines if theParameterizedBuilder
will realize an instance of the specified class (without requiring the builder to actually realize an object).This method is synonymous with the Java keyword
instanceof
but allows dynamic runtime type querying of the types of objects a builder may realize.- Specified by:
realizes
in interfaceParameterizedBuilder.ReflectionSupport
- Parameters:
clzClass
- the expected typeresolver
- theParameterResolver
to use for resolving necessaryParameter
sloader
- theClassLoader
for loading any necessary classes and ifnull
theClassLoader
used to load the builder will be used instead- Returns:
true
if theParameterizedBuilder
will realize an instance of the class,false
otherwise
-
readExternal
Restore the contents of this object by loading the object's state from the passed DataInput object.- Specified by:
readExternal
in 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 occurs
-
writeExternal
Save the contents of this object by storing the object's state into the passed DataOutput object.- Specified by:
writeExternal
in 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:
readExternal
in 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:
writeExternal
in interfacePortableObject
- Parameters:
writer
- the PofWriter to which to write the object's state- Throws:
IOException
- if an I/O error occurs
-