Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.1.0 E18814-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.io.pof
Class SafeConfigurablePofContext

`java.lang.Object
com.tangosol.io.pof.ConfigurablePofContext
com.tangosol.io.pof.SafeConfigurablePofContext`

All Implemented Interfaces:
  ClassLoaderAware, PofContext, Serializer, XmlConfigurable

      public class SafeConfigurablePofContext

extends ConfigurablePofContext

SafeConfigurablePofContext is an extension of ConfigurablePofContext that can serialize and deserialize any valid POF user type, even those that have not been explicitly configured, as well as any Java serializable types (Serializable, Externalizable, or ExternalizableLite).

Important note: this PofContext is meant to be used only during application design time and replaced with the ConfigurablePofContext for production deployments as it has the following limitations:

- SafeConfigurablePofContext is supported only for Java clients;
- its performance is less optimal than of the ConfigurablePofContext;
- the serialized form produced by the SafeConfigurablePofContext will not be recognized by POF aware ValueExtractors.

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
`class` | `SafeConfigurablePofContext.JavaPofSerializer` Serializer used for Serializable and ExternalizableLite objects.
`class` | `SafeConfigurablePofContext.SafePofSerializer` Serializer used for objects implementing the PortableObject interface.

Nested classes/interfaces inherited from class com.tangosol.io.pof.ConfigurablePofContext
`ConfigurablePofContext.PofConfig`

Field Summary
`static int` | `TYPE_PORTABLE` The type identifier for objects that implement the PortableObject interface.
`static int` | `TYPE_SERIALIZABLE` The type identifier for Java Serializable (including the ExternalizableLite format) objects.

Fields inherited from class com.tangosol.io.pof.ConfigurablePofContext
`DEFAULT_RESOURCE, PROPERTY_CONFIG`

Constructor Summary
`SafeConfigurablePofContext()` Default constructor.
`SafeConfigurablePofContext(java.lang.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
`java.lang.Class` | `getClass(int nTypeId)` Determine the class associated with the given user type identifier.
`protected int` | `getGenericTypeId(java.lang.Class clz)` For user types that are not registered in the POF configuration used by this PofContext, determine if the user type can be serialized using POF, otherwise determine if the user type can be serialized using the traditional (pre-POF) Coherence Java Serialization format that supports Java `Serializable` and `ExternalizableLite` objects.
`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(java.lang.Class clz)` Determine the user type identifier associated with the given class.
`int` | `getUserTypeIdentifier(java.lang.Object o)` Determine the user type identifier associated with the given object.
`int` | `getUserTypeIdentifier(java.lang.String sClass)` Determine the user type identifier associated with the given class name.
`boolean` | `isUserType(java.lang.Class clz)` Determine if the given class is a user type known to this PofContext.
`boolean` | `isUserType(java.lang.Object o)` Determine if the given object is of a user type known to this PofContext.
`boolean` | `isUserType(java.lang.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
`appendDefaultSerializerToUserTypes, checkNotInitialized, createPofConfig, deserialize, ensureInitialized, getClassName, getConfig, getConfigLocation, getContextClassLoader, getInheritedUserTypeIdentifier, getPofConfig, getUserTypeIdentifierInternal, getUserTypeIdentifierInternal, initialize, isInitialized, isInterfaceAllowed, isSubclassAllowed, loadClass, report, serialize, setConfig, setContextClassLoader, toString`

Field Detail

### TYPE_PORTABLE

    public static final int TYPE_PORTABLE

  The type identifier for objects that implement the PortableObject interface.
  See Also:
    Constant Field Values

### TYPE_SERIALIZABLE

    public static final int TYPE_SERIALIZABLE

  The type identifier for Java Serializable (including the ExternalizableLite format) objects.
  See Also:
    Constant Field Values

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(java.lang.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

### getClass

    public java.lang.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

### getUserTypeIdentifier

    public int getUserTypeIdentifier(java.lang.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(java.lang.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(java.lang.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

### isUserType

    public boolean isUserType(java.lang.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(java.lang.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(java.lang.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

### getGenericTypeId

    protected int getGenericTypeId(java.lang.Class clz)

  For user types that are not registered in the POF configuration used by this PofContext, determine if the user type can be serialized using POF, otherwise determine if the user type can be serialized using the traditional (pre-POF) Coherence Java Serialization format that supports Java `Serializable` and `ExternalizableLite` objects.
  Parameters:
    `clz` - a user type class that is not configured in this PofContext
  Returns:
    a special user type id that indicates that the user type is supported by "generic" POF serialization or traditional Java serialization embedded in a POF stream

Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.1.0 E18814-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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