Skip navigation links

Oracle® Fusion Middleware Java API Reference for Oracle Coherence
12c (12.1.3.0.0)

E47890-01


com.tangosol.coherence.config.builder
Class InstanceBuilder

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

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

public class InstanceBuilder
extends java.lang.Object
implements ParameterizedBuilder, ParameterizedBuilder.ReflectionSupport, ExternalizableLite, PortableObject

An InstanceBuilder is a ParameterizedBuilder implementation that additionally supports injection based on Coherence <instance%gt; or <class-scheme> configurations.

While supporting injection this class may also be used in situations where a ParameterizedBuilder is required (must be passed) for a known type of the class.

For example, if you need a ParameterizedBuilder for a java.awt.Point class, but you don't want to create an anonymous ParameterizedBuilder implementation for a Point, you can use the following:

new InstanceBuilder(Point.class);

Further you may also provide constructor parameters as follows:

new InstanceBuilder(Point.class, 10, 12);

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
InstanceBuilder()
          Construct an InstanceBuilder.
InstanceBuilder(java.lang.Class clzToRealize, java.lang.Object[] aConstructorParameters)
          Constructs a InstanceBuilder that will realize an instance of the specified Class.
InstanceBuilder(com.tangosol.config.expression.Expression exprClassName, java.lang.Object[] aConstructorParameters)
          Constructs a InstanceBuilder that will realize an instance of the specifically named class.
InstanceBuilder(java.lang.String sClassName, java.lang.Object[] aConstructorParameters)
          Constructs a InstanceBuilder that will realize an instance of the specifically named class.

 

Method Summary
 com.tangosol.config.expression.Expression getClassName()
          Return the expression representing the name of the class this builder will attempt to instantiate.
 ParameterList getConstructorParameterList()
          Return the ParameterList to be used for constructor parameters when realizing the class.
 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 listConstructorParameters)
          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 setClassName(com.tangosol.config.expression.Expression exprClassName)
          Sets the Expression that when evaluated will produce the name of the class to realize.
 void setConstructorParameterList(ParameterList listParameters)
          Sets the ParameterList to be used for constructor parameters when realizing the class.
 java.lang.String toString()
          
 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

InstanceBuilder

public InstanceBuilder()
Construct an InstanceBuilder.

InstanceBuilder

public InstanceBuilder(java.lang.Class clzToRealize,
                       java.lang.Object[] aConstructorParameters)
Constructs a InstanceBuilder that will realize an instance of the specified Class.
Parameters:
clzToRealize - the Class to realize
aConstructorParameters - the optional constructor parameters

InstanceBuilder

public InstanceBuilder(com.tangosol.config.expression.Expression exprClassName,
                       java.lang.Object[] aConstructorParameters)
Constructs a InstanceBuilder that will realize an instance of the specifically named class.
Parameters:
exprClassName - an Expression that when evaluated will return the class name to realize
aConstructorParameters - the optional constructor parameters

InstanceBuilder

public InstanceBuilder(java.lang.String sClassName,
                       java.lang.Object[] aConstructorParameters)
Constructs a InstanceBuilder that will realize an instance of the specifically named class.
Parameters:
sClassName - the name of the class to realize
aConstructorParameters - the optional constructor parameters

Method Detail

getClassName

public com.tangosol.config.expression.Expression getClassName()
Return the expression representing the name of the class this builder will attempt to instantiate.
Returns:
an expression representing the class name

setClassName

@Injectable(value="class-name")
public void setClassName(com.tangosol.config.expression.Expression exprClassName)
Sets the Expression that when evaluated will produce the name of the class to realize.
Parameters:
exprClassName - the Expression

getConstructorParameterList

public ParameterList getConstructorParameterList()
Return the ParameterList to be used for constructor parameters when realizing the class.
Returns:
the ParameterList for the constructor

setConstructorParameterList

@Injectable(value="init-params")
public void setConstructorParameterList(ParameterList listParameters)
Sets the ParameterList to be used for constructor parameters when realizing the class.
Parameters:
listParameters - the ParameterList for the constructor

realize

public java.lang.Object realize(com.tangosol.config.expression.ParameterResolver resolver,
                                java.lang.ClassLoader loader,
                                ParameterList listConstructorParameters)
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
listConstructorParameters - 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

toString

public java.lang.String toString()

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® Fusion Middleware Java API Reference for Oracle Coherence
12c (12.1.3.0.0)

E47890-01


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