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:
  • Constructor Details

  • Method Details

    • getFactoryClassName

      public Expression<String> getFactoryClassName()
      Return the Expression that when evaluated will produce the name of the class containing a static factory method that will realize instances for this ParameterizedBuilder.
      Returns:
      the factory class name Expression
    • setFactoryClassName

      @Injectable("class-factory-name") public void setFactoryClassName(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.
      Parameters:
      exprFactoryClassName - the Expression
    • getFactoryMethodName

      public Expression<String> getFactoryMethodName()
      Return the Expression that when evaluated will produce the name of the factory class static method that will realize instances for this ParameterizedBuilder.
      Returns:
      the factory method name Expression
    • setFactoryMethodName

      @Injectable("method-name") public void setFactoryMethodName(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.
      Parameters:
      exprFactoryMethodName - the Expression
    • getFactoryMethodParameters

      public ParameterList getFactoryMethodParameters()
      Returns the ParameterList to use to resolve factory method parameters when realizing the class.
      Returns:
      the ParameterList for method parameters
    • setFactoryMethodParameters

      @Injectable("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 ClassLoader ensureClassLoader(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 T realize(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.
      Specified by:
      realize in interface ParameterizedBuilder<T>
      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(Class<?> clzClass, 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).

      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(DataInput in) throws 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:
      IOException - if an I/O exception occurs
    • 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:
      writeExternal in interface ExternalizableLite
      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:
      readExternal in interface PortableObject
      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:
      writeExternal in interface PortableObject
      Parameters:
      writer - the PofWriter to which to write the object's state
      Throws:
      IOException - if an I/O error occurs