CoherenceTM v3.3
Copyright© 2000-2007 by Oracle Corporation

com.tangosol.io.pof
Class SafeConfigurablePofContext

java.lang.Object
  extended by com.tangosol.io.pof.ConfigurablePofContext
      extended by com.tangosol.io.pof.SafeConfigurablePofContext
All Implemented Interfaces:
ClassLoaderAware, PofContext, Serializer, XmlConfigurable

public class SafeConfigurablePofContext
extends ConfigurablePofContext

ConfigurablePofContext extension that can serialize and deserialize any valid POF user type, even those that have not been explicitly configured.

POF user types that have not been registered with this PofContext will be treated as SafeConfigurablePofContext.SafePofHolder objects. For user types that have been explicitly configured, the SafeConfigurablePofContext behaves identical to the ConfigurablePofContext.

Since:
Coherence 3.3
Author:
jh 2007.05.03

Nested Class Summary
static class SafeConfigurablePofContext.SafePofHolder
          A SafePofHolder represents the serialized form of any valid POF user type instance.
 
Nested classes/interfaces inherited from class com.tangosol.io.pof.ConfigurablePofContext
ConfigurablePofContext.PofConfig
 
Field Summary
 
Fields inherited from class com.tangosol.io.pof.ConfigurablePofContext
DEFAULT_RESOURCE, PROPERTY_CONFIG
 
Constructor Summary
SafeConfigurablePofContext()
          Default constructor.
SafeConfigurablePofContext(String sLocator)
          Create a SafeConfigurablePofContext that will load configuration information from the specified locator.
SafeConfigurablePofContext(XmlElement xml)
          Create a SafeConfigurablePofContext that will use the passed configuration information.
 
Method Summary
 Class getClass(int nTypeId)
          Determine the class associated with the given user type identifier.
 PofSerializer getPofSerializer(int nTypeId)
          Return a PofSerializer that can be used to serialize and deserialize an object of the specified user type to and from a POF stream.
 int getUserTypeIdentifier(Class clz)
          Determine the user type identifier associated with the given class.
 int getUserTypeIdentifier(Object o)
          Determine the user type identifier associated with the given object.
 int getUserTypeIdentifier(String sClass)
          Determine the user type identifier associated with the given class name.
 boolean isUserType(Class clz)
          Determine if the given class is a user type known to this PofContext.
 boolean isUserType(Object o)
          Determine if the given object is of a user type known to this PofContext.
 boolean isUserType(String sClass)
          Determine if the class with the given name is a user type known to this PofContext.
 
Methods inherited from class com.tangosol.io.pof.ConfigurablePofContext
checkNotInitialized, createPofConfig, deserialize, ensureInitialized, getClassName, getConfig, getConfigLocation, getContextClassLoader, getPofConfig, getUserTypeIdentifierInternal, getUserTypeIdentifierInternal, initialize, isInitialized, isInterfaceAllowed, isSubclassAllowed, loadClass, loadResource, report, serialize, setConfig, setContextClassLoader
 

Constructor Detail

SafeConfigurablePofContext

public SafeConfigurablePofContext()
Default constructor.

Create a default SafeConfigurablePofContext that will load configuration information from the locator specified in ConfigurablePofContext.DEFAULT_RESOURCE.


SafeConfigurablePofContext

public SafeConfigurablePofContext(String sLocator)
Create a SafeConfigurablePofContext that will load configuration information from the specified locator.

Parameters:
sLocator - the locator that specifies the location of the PofContext configuration file; the locator is either a valid path or a URL

SafeConfigurablePofContext

public SafeConfigurablePofContext(XmlElement xml)
Create a SafeConfigurablePofContext that will use the passed configuration information.

Parameters:
xml - an XmlElement containing information in the format of a configuration file used by SafeConfigurablePofContext
Method Detail

getPofSerializer

public PofSerializer getPofSerializer(int nTypeId)
Return a PofSerializer that can be used to serialize and deserialize an object of the specified user type to and from a POF stream.

Specified by:
getPofSerializer in interface PofContext
Overrides:
getPofSerializer in class ConfigurablePofContext
Parameters:
nTypeId - the type identifier of the user type that can be serialized and deserialized using the returned PofSerializer; must be non-negative
Returns:
a PofSerializer for the specified user type

getUserTypeIdentifier

public int getUserTypeIdentifier(Object o)
Determine the user type identifier associated with the given object.

Specified by:
getUserTypeIdentifier in interface PofContext
Overrides:
getUserTypeIdentifier in class ConfigurablePofContext
Parameters:
o - an instance of a user type; must not be null
Returns:
the type identifier of the user type associated with the given object

getUserTypeIdentifier

public int getUserTypeIdentifier(Class clz)
Determine the user type identifier associated with the given class.

Specified by:
getUserTypeIdentifier in interface PofContext
Overrides:
getUserTypeIdentifier in class ConfigurablePofContext
Parameters:
clz - a user type class; must not be null
Returns:
the type identifier of the user type associated with the given class

getUserTypeIdentifier

public int getUserTypeIdentifier(String sClass)
Determine the user type identifier associated with the given class name.

Specified by:
getUserTypeIdentifier in interface PofContext
Overrides:
getUserTypeIdentifier in class ConfigurablePofContext
Parameters:
sClass - the name of a user type class; must not be null
Returns:
the type identifier of the user type associated with the given class name

getClass

public Class getClass(int nTypeId)
Determine the class associated with the given user type identifier.

Specified by:
getClass in interface PofContext
Overrides:
getClass in class ConfigurablePofContext
Parameters:
nTypeId - the user type identifier; must be non-negative
Returns:
the class associated with the specified user type identifier

isUserType

public boolean isUserType(Object o)
Determine if the given object is of a user type known to this PofContext.

Specified by:
isUserType in interface PofContext
Overrides:
isUserType in class ConfigurablePofContext
Parameters:
o - the object to test; must not be null
Returns:
true iff the specified object is of a valid user type

isUserType

public boolean isUserType(Class clz)
Determine if the given class is a user type known to this PofContext.

Specified by:
isUserType in interface PofContext
Overrides:
isUserType in class ConfigurablePofContext
Parameters:
clz - the class to test; must not be null
Returns:
true iff the specified class is a valid user type

isUserType

public boolean isUserType(String sClass)
Determine if the class with the given name is a user type known to this PofContext.

Specified by:
isUserType in interface PofContext
Overrides:
isUserType in class ConfigurablePofContext
Parameters:
sClass - the name of the class to test; must not be null
Returns:
true iff the class with the specified name is a valid user type

CoherenceTM v3.3
Copyright© 2000-2007 by Oracle Corporation