Skip navigation links

Oracle® Coherence Java API Reference
Release 12.1.2.0.3

E26043-02


com.tangosol.coherence.config.builder
Class StaticFactoryInstanceBuilder

java.lang.Object
  extended by com.tangosol.coherence.config.builder.StaticFactoryInstanceBuilder

All Implemented Interfaces:
ParameterizedBuilder, ParameterizedBuilder.ReflectionSupport, ExternalizableLite, PortableObject, java.io.Serializable

public class StaticFactoryInstanceBuilder
extends java.lang.Object
implements ParameterizedBuilder, 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

Nested Class Summary

 

Nested classes/interfaces inherited from interface com.tangosol.coherence.config.builder.ParameterizedBuilder
ParameterizedBuilder.ReflectionSupport

 

Constructor Summary
StaticFactoryInstanceBuilder()
          Construct a StaticFactoryInstanceBuilder.

 

Method Summary
protected  java.lang.ClassLoader ensureClassLoader(java.lang.ClassLoader loader)
          Ensures we have a non-null ClassLoader that we can use for loading classes.
 void readExternal(java.io.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.
 java.lang.Object realize(com.tangosol.config.expression.ParameterResolver resolver, java.lang.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(java.lang.Class clzClass, com.tangosol.config.expression.ParameterResolver resolver, java.lang.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 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 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(java.io.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.

 

Constructor Detail

StaticFactoryInstanceBuilder

public StaticFactoryInstanceBuilder()
Construct a StaticFactoryInstanceBuilder.

Method Detail

setFactoryClassName

@Injectable(value="class-factory-name")
public void setFactoryClassName(com.tangosol.config.expression.Expression 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.
Parameters:
exprFactoryClassName - the Expression

setFactoryMethodName

@Injectable(value="method-name")
public void setFactoryMethodName(com.tangosol.config.expression.Expression exprFactoryMethodName)
Set the Expression that when evaluated will produce the name of the factory class static method that will realize instances for this ParameterizedBuilder.
Parameters:
exprFactoryMethodName - the Expression

setFactoryMethodParameters

@Injectable(value="init-params")
public void setFactoryMethodParameters(ParameterList listParameters)
Sets the ParameterList to use to resolve factory method parameters when realizing the class.
Parameters:
listParameters - the ParameterList for method parameters

ensureClassLoader

protected java.lang.ClassLoader ensureClassLoader(java.lang.ClassLoader loader)
Ensures we have a non-null ClassLoader that we can use for loading classes.
Parameters:
loader - the proposed ClassLoader, which may be null
Returns:
a non-null ClassLoader

realize

public java.lang.Object realize(com.tangosol.config.expression.ParameterResolver resolver,
                                java.lang.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.
Specified by:
realize in interface ParameterizedBuilder
Parameters:
resolver - the ParameterResolver for resolving named Parameters
loader - the ClassLoader for loading any necessary classes and if null the ClassLoader used to load the builder will be used instead
listMethodParameters - an optional ParameterList (may be null) to be used for realizing the instance, eg: used as constructor parameters
Returns:
an instance of T

realizes

public boolean realizes(java.lang.Class clzClass,
                        com.tangosol.config.expression.ParameterResolver resolver,
                        java.lang.ClassLoader loader)
Determines if the 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.

Specified by:
realizes in interface ParameterizedBuilder.ReflectionSupport
Parameters:
clzClass - the expected type
resolver - the ParameterResolver to use for resolving necessary Parameters
loader - the ClassLoader for loading any necessary classes and if null the ClassLoader used to load the builder will be used instead
Returns:
true if the ParameterizedBuilder will realize an instance of the class, false otherwise

readExternal

public void readExternal(java.io.DataInput in)
                  throws java.io.IOException
Restore the contents of this object by loading the object's state from the passed DataInput object.
Specified by:
readExternal in interface ExternalizableLite
Parameters:
in - the DataInput stream to read data from in order to restore the state of this object
Throws:
java.io.IOException - if an I/O exception occurs
java.io.NotActiveException - if the object is not in its initial state, and therefore cannot be deserialized into

writeExternal

public void writeExternal(java.io.DataOutput out)
                   throws java.io.IOException
Save the contents of this object by storing the object's state into the passed DataOutput object.
Specified by:
writeExternal in interface ExternalizableLite
Parameters:
out - the DataOutput stream to write the state of this object to
Throws:
java.io.IOException - if an I/O exception occurs

readExternal

public void readExternal(PofReader reader)
                  throws java.io.IOException
Restore the contents of a user type instance by reading its state using the specified PofReader object.
Specified by:
readExternal in interface PortableObject
Parameters:
reader - the PofReader from which to read the object's state
Throws:
java.io.IOException - if an I/O error occurs

writeExternal

public void writeExternal(PofWriter writer)
                   throws java.io.IOException
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
Specified by:
writeExternal in interface PortableObject
Parameters:
writer - the PofWriter to which to write the object's state
Throws:
java.io.IOException - if an I/O error occurs

Skip navigation links

Oracle® Coherence Java API Reference
Release 12.1.2.0.3

E26043-02


Copyright © 2000, 2014, Oracle and/or its affiliates. All rights reserved.