public class StaticFactoryInstanceBuilder<T> extends Object implements ParameterizedBuilder<T>, ParameterizedBuilder.ReflectionSupport, ExternalizableLite, PortableObject
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.ParameterizedBuilder.ReflectionSupport| Constructor and Description |
|---|
StaticFactoryInstanceBuilder()
Construct a
StaticFactoryInstanceBuilder. |
| Modifier and Type | Method and Description |
|---|---|
protected ClassLoader |
ensureClassLoader(ClassLoader loader)
Ensures we have a non-null
ClassLoader that we can use for loading classes. |
void |
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from
the passed DataInput object.
|
void |
readExternal(PofReader reader)
Restore the contents of a user type instance by reading its state using
the specified PofReader object.
|
T |
realize(com.tangosol.config.expression.ParameterResolver resolver,
ClassLoader loader,
ParameterList listMethodParameters)
Realizes (creates if necessary) an instance of a object of type T, using the provided
ParameterResolver
to resolve values any referenced Parameters. |
boolean |
realizes(Class<?> clzClass,
com.tangosol.config.expression.ParameterResolver resolver,
ClassLoader loader)
Determines if the
ParameterizedBuilder will realize an instance of the specified class (without
requiring the builder to actually realize an object). |
void |
setFactoryClassName(com.tangosol.config.expression.Expression<String> exprFactoryClassName)
Sets the
Expression that when evaluated will produce the name of the class
containing a static factory method that will realize instances
for this ParameterizedBuilder. |
void |
setFactoryMethodName(com.tangosol.config.expression.Expression<String> exprFactoryMethodName)
Set the
Expression that when evaluated will produce the name of the factory class
static method that will realize instances for this ParameterizedBuilder. |
void |
setFactoryMethodParameters(ParameterList listParameters)
Sets the
ParameterList to use to resolve factory method parameters when realizing the class. |
void |
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into
the passed DataOutput object.
|
void |
writeExternal(PofWriter writer)
Save the contents of a POF user type instance by writing its state using
the specified PofWriter object.
|
public StaticFactoryInstanceBuilder()
StaticFactoryInstanceBuilder.@Injectable(value="class-factory-name") public void setFactoryClassName(com.tangosol.config.expression.Expression<String> exprFactoryClassName)
Expression that when evaluated will produce the name of the class
containing a static factory method that will realize instances
for this ParameterizedBuilder.exprFactoryClassName - the Expression@Injectable(value="method-name") public void setFactoryMethodName(com.tangosol.config.expression.Expression<String> exprFactoryMethodName)
Expression that when evaluated will produce the name of the factory class
static method that will realize instances for this ParameterizedBuilder.exprFactoryMethodName - the Expression@Injectable(value="init-params") public void setFactoryMethodParameters(ParameterList listParameters)
ParameterList to use to resolve factory method parameters when realizing the class.listParameters - the ParameterList for method parametersprotected ClassLoader ensureClassLoader(ClassLoader loader)
ClassLoader that we can use for loading classes.loader - the proposed ClassLoader, which may be nullClassLoaderpublic T realize(com.tangosol.config.expression.ParameterResolver resolver, ClassLoader loader, ParameterList listMethodParameters)
ParameterResolver
to resolve values any referenced Parameters.realize in interface ParameterizedBuilder<T>resolver - the ParameterResolver for resolving named Parametersloader - the ClassLoader for loading any necessary classes and if null the
ClassLoader used to load the builder will be used insteadlistMethodParameters - an optional ParameterList (may be null) to be used for realizing the
instance, eg: used as constructor parameterspublic boolean realizes(Class<?> clzClass, com.tangosol.config.expression.ParameterResolver resolver, ClassLoader loader)
ParameterizedBuilder 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.
realizes in interface ParameterizedBuilder.ReflectionSupportclzClass - the expected typeresolver - the ParameterResolver to use for resolving necessary Parametersloader - the ClassLoader for loading any necessary classes and if null the
ClassLoader used to load the builder will be used insteadtrue if the ParameterizedBuilder will realize an instance of the class,
false otherwisepublic void readExternal(DataInput in) throws IOException
readExternal in interface ExternalizableLitein - the DataInput stream to read data from in order to restore
the state of this objectIOException - if an I/O exception occursNotActiveException - if the object is not in its initial
state, and therefore cannot be deserialized intopublic void writeExternal(DataOutput out) throws IOException
writeExternal in interface ExternalizableLiteout - the DataOutput stream to write the state of this object toIOException - if an I/O exception occurspublic void readExternal(PofReader reader) throws IOException
readExternal in interface PortableObjectreader - the PofReader from which to read the object's stateIOException - if an I/O error occurspublic void writeExternal(PofWriter writer) throws IOException
writeExternal in interface PortableObjectwriter - the PofWriter to which to write the object's stateIOException - if an I/O error occurs