Skip navigation links

Oracle® Coherence Java API Reference
Release 3.6.0.0

E15725-01


com.tangosol.util
Class ExternalizableHelper

java.lang.Object
  extended by BitHelper
      extended by com.tangosol.util.ExternalizableHelper

Direct Known Subclasses:
ExternalizableHelper.IntDecoratedObject

public abstract class ExternalizableHelper
extends BitHelper

Helpers for the Serializable, Externalizable and the ExternalizableLite interface. <p/> Note: This class is configured via the ExternalizableHelper.xml document located in the same package as the class. The location of the configuration file can be overridden using the tangosol.externalizable.config system property.

Author:
cp 2003.03.28

Nested Class Summary
static class ExternalizableHelper.DefaultObjectStreamFactory
          Default ObjectStreamFactory implementation.
protected static class ExternalizableHelper.IntDecoratedObject
          Integer decorated object.
static interface ExternalizableHelper.Shielded
          Marker interface.
static class ExternalizableHelper.ShieldedDataOutputStream
          An OutputStream that implements DataOutput that delegates all operations other than flush and close to an underlying object that implements DataOutput.
static class ExternalizableHelper.ShieldedInputStream
          An InputStream that delegates all operations other than close to an underlying InputStream.
static class ExternalizableHelper.ShieldedObjectOutputStream
          An OutputStream that implements ObjectOutput that delegates all operations other than flush and close to an underlying object that implements ObjectOutput.
static class ExternalizableHelper.ShieldedOutputStream
          An OutputStream that delegates all operations other than flush and close to an underlying OutputStream.
static class ExternalizableHelper.SimpleXmlBeanClassCache
          An implementation XmlBeanClassCache that uses a pre-defined list of XmlBean implementations.
static interface ExternalizableHelper.XmlBeanClassCache
          An interface for caching class reference by integer ID values.

 

Field Summary
static Converter CONVERTER_FROM_BINARY
          A converter from Binary to Object format, which uses the DefaultSerializer.
static Converter CONVERTER_STRIP_INTDECO
          A pass-through Binary converter that removes an IntDecoration if present.
static Converter CONVERTER_TO_BINARY
          A converter from Object to Binary format that uses the DefaultSerializer.
static int DECO_CUSTOM
          Decoration: A client specific value (opaque).
static int DECO_EXPIRY
          Decoration: The expiry for the value.
static int DECO_ID_MAX
          Decoration range: The maximum decoration identifier.
static int DECO_ID_MIN
          Decoration range: The minimum decoration identifier.
static int DECO_STORE
          Decoration: The persistent state for the value.
static int DECO_VALUE
          Decoration: The original value (before being decorated).
static Binary[] EMPTY_BINARY_ARRAY
          An empty array of Binary objects.
protected static int FMT_B_ARRAY
          Serialization format: Byte array value.
protected static int FMT_BIN_DECO
          Serialization format: Decorated Binary value.
protected static int FMT_BINARY
          Serialization format: Binary value.
protected static int FMT_BOOLEAN
          Serialization format: Boolean value.
protected static int FMT_BYTE
          Serialization format: Byte value.
protected static int FMT_DECIMAL
          Serialization format: BigDecimal value.
protected static int FMT_DOUBLE
          Serialization format: Double value.
protected static int FMT_EXT
          Serialization format: A DefaultSerializer is NOT used
protected static int FMT_FLOAT
          Serialization format: Float value.
protected static int FMT_IDO
          Serialization format: Integer-decorated value.
protected static int FMT_INT
          Serialization format: Integer value.
protected static int FMT_INTEGER
          Serialization format: BigInteger value.
protected static int FMT_LONG
          Serialization format: Long value.
protected static int FMT_NONE
          Serialization format: Unknown value (alias to FMT_UNKNOWN).
protected static int FMT_NULL
          Serialization format: Null value.
protected static int FMT_OBJ_EXT
          Serialization format: ExternalizableLite value.
protected static int FMT_OBJ_SER
          Serialization format: Serializable value.
protected static int FMT_SHORT
          Serialization format: Short value.
protected static int FMT_STRING
          Serialization format: String value.
protected static int FMT_UNKNOWN
          Serialization format: Unknown value.
protected static int FMT_XML_BEAN
          Serialization format: XmlBean value.
protected static int FMT_XML_SER
          Serialization format: XmlSerializable value.
static boolean FORCE_RESOLVING_STREAMS
          Option: Always use a ResolvingObjectInputStream, even if a regular ObjectInputStream is available.
protected static int MAX_DECO_HEADER_BYTES
          The maximum number of bytes the header of the binary-decorated value may contain.
static String PROPERTY_CONFIG
          The name of the system property that can be used to override the location of the ExternalizableHelper configuration file.
static ObjectStreamFactory s_streamfactory
          Option: Configurable ObjectStreamFactory.
static int STATS_THRESHOLD
          Option: Size of user type objects above which sizing stats are maintained.
static int TRINT_DOMAIN_SPAN
          Trints use 6 hexits (3 bytes), so the trint domain span is 0x01000000.
static int TRINT_MAX_VALUE
          Trints use 6 hexits (3 bytes), so the trint maximum is 0x00FFFFFF.
static int TRINT_MAX_VARIANCE
          Trints use 6 hexits (3 bytes), so the trint maximum variance (from a "current" value) is half the trint domain span, or 0x00800000.
static boolean USE_MARSHAL_STREAMS
          Option: Use marshalling object streams that can read classes over the network.
static boolean USE_POF_STREAMS
          Option: Use POF as the default serialization format.
static boolean USE_XMLBEAN_CLASS_CACHE
          Option: Use an XmlBean class cache.
static ExternalizableHelper.XmlBeanClassCache XMLBEAN_CLASS_CACHE
          Option: XmlBean class cache implementation.

 

Constructor Summary
ExternalizableHelper()
           

 

Method Summary
static String convertUTF(byte[] ab, int of, int cb, char[] ach)
          Convert binary UTF-8 encode data to a String.
static Binary decorate(Binary bin, Binary[] abinDecorations)
          If the passed Binary is decorated, add the passed decorations and return the resulting new Binary; otherwise, create a decorated version of the passed Binary containing the passed decorations and return the resulting new Binary.
static Binary decorate(Binary bin, int nId, Binary binDecoration)
          If the passed Binary is decorated, add the passed decoration and return the resulting new Binary; otherwise, create a decorated version of the passed Binary containing the passed decoration and return the resulting new Binary.
static ExternalizableHelper.IntDecoratedObject decorate(Object oValue, int nDecoration)
          Decorate the specified value with the specified integer decoration.
static Binary decorateBinary(Binary binValue, int nDecoration)
          Decorate the specified Binary value with the specified integer decoration.
static Serializer ensureSerializer(ClassLoader loader)
          Obtain a Serializer for the specified ClassLoader.
static int extractIntDecoration(Binary bin)
          Extract a decoration value from the specified Binary that contains a representation of an IntDecoratedObject.
static Object fromBinary(Binary bin)
          Read an object from a Binary object.
static Object fromBinary(Binary bin, ClassLoader loader)
          Read an object from a Binary object.
static Object fromByteArray(byte[] ab)
          Read an object from a byte array.
static Object fromByteArray(byte[] ab, ClassLoader loader)
          Read an object from a byte array.
static Binary getDecoration(Binary bin, int nId)
          If the passed Binary is decorated, check for and return (if it exists) the decoration for the specified identifier.
static Binary[] getDecorations(Binary bin)
          If the passed Binary is decorated, return an array containing all of its decorations.
static InputStream getInputStream(DataInput in)
          Get an InputStream for the passed DataInput object.
static ObjectInput getNewObjectInput(DataInput in, ClassLoader loader)
          Get a new ObjectInput for the passed DataInput, even if the passed DataInput is an ObjectInput.
static ObjectInput getObjectInput(DataInput in, ClassLoader loader)
          Get an ObjectInput for the passed DataInput object.
static ObjectOutput getObjectOutput(DataOutput out)
          Get an ObjectOutput for the passed DataOutput object.
static ObjectStreamFactory getObjectStreamFactory()
          Return the ObjectStreamFactory used to convert DataInput/Output into ObjectInput/Output streams.
static OutputStream getOutputStream(DataOutput out)
          Get an OutputStream for the passed DataOutput object.
static OutputStream getShieldedOutputStream(OutputStream out)
          Get a shielded OutputStream for the passed OutputStream object.
protected static int getStreamFormat(Object o)
          Internal: Select an optimal stream format to use to store the passed object in a stream (as used by the DefaultSerializer).
static Binary getUndecorated(Binary bin)
          If the passed Binary is decorated, extract the original Binary value that the decorations were added to, otherwise return the passed Binary value.
static boolean isDecorated(Binary bin)
          If the Binary is the result of serialization by ExternalizableHelper, determine if the Binary contains decorations.
static boolean isIntDecorated(Binary bin)
          Check whether or not the specified Binary is a representation of an IntDecoratedObject.
static boolean isMarshalled(DataOutput out)
          Determine whether the passed DataOutput handles marshalling of ObjectOutput.
static boolean isResolving(DataOutput out)
          Determine whether the passed DataOutput handles ClassLoader resolving.
static boolean isSerializable(Object o)
          Determine if the resource object can be serialized using the DefaultSerializer.
static boolean isSerializerCompatible(Serializer serializerThis, Serializer serializerThat)
          Determines whether or not the specified serializers are compatible.
static Class loadClass(String sClass, ClassLoader loader1, ClassLoader loader2)
          Attempt to load the specified class using sequentionally all of the specified loaders, the ContextClassLoader and the current class loader.
static URL loadResource(String sName, ClassLoader loader1, ClassLoader loader2)
          Attempt to find a valid, resolvable URL for the specified resource, first by using each of the specified ClassLoaders, then using the ContextClassLoader.
static void main(String[] asArgs)
          Parse a hex string representing a serialialized object.
static int makeTrint(long l)
          Convert a long integer to a trint.
static BigDecimal readBigDecimal(DataInput in)
          Read a BigDecimal from a DataInput stream.
static BigInteger readBigInteger(DataInput in)
          Read a BigInteger from a DataInput stream.
static boolean[] readBooleanArray(DataInput in)
          Read a packed boolean array.
static byte[] readByteArray(DataInput in)
          Read a variable-length encoded byte array.
static int readCollection(DataInput in, Collection collection, ClassLoader loader)
          Read collection content from a DataInput stream and update the specified collection.
static Date readDate(DataInput in)
          Read a Date from a DataInput stream.
static double[] readDoubleArray(DataInput in)
          Read an array of double numbers from a DataInput stream.
static ExternalizableLite readExternalizableLite(DataInput in)
          Read an ExternalizableLite object from a DataInput stream.
static ExternalizableLite readExternalizableLite(DataInput in, ClassLoader loader)
          Read an ExternalizableLite object from a DataInput stream.
static float[] readFloatArray(DataInput in)
          Read an array of float numbers from a DataInput stream.
static int readInt(DataInput in)
          Read an int that uses variable length storage in the stream.
static long readLong(DataInput in)
          Read a long that uses variable length storage in the stream.
static int readMap(DataInput in, Map map, ClassLoader loader)
          Read map content from a DataInput stream and update the specified map.
static int readMap(DataInput in, Map map, int cBlock, ClassLoader loader)
          Read map content from a DataInput stream and update the specified map using the "putAll" method.
static Object readObject(DataInput in)
          Read an Object from the passed DataInput object.
static Object readObject(DataInput in, ClassLoader loader)
          Read an Object from the passed DataInput object.
static String readSafeUTF(DataInput in)
          Read a variable-length encoded UTF packed String.
static Object readSerializable(DataInput in)
          Read an object from a DataInput stream.
static Object readSerializable(DataInput in, ClassLoader loader)
          Read an object from a DataInput stream.
static String[] readStringArray(DataInput in)
          Read a String array.
static Time readTime(DataInput in)
          Read a Time from a DataInput stream.
static Timestamp readTimestamp(DataInput in)
          Read a Timestamp from a DataInput stream.
static int readTrint(DataInput in)
          Read a signed three-byte integer value from a stream.
static int readUnsignedTrint(DataInput in)
          Read an unsigned three-byte integer value from a stream.
static String readUTF(DataInput in)
          Read a variable-length encoded UTF packed String.
static XmlBean readXmlBean(DataInput in, ClassLoader loader)
          Read an XmlBean object from a DataInput stream.
static XmlSerializable readXmlSerializable(DataInput in)
          Read an XmlSerializable object from a DataInput stream.
static XmlSerializable readXmlSerializable(DataInput in, ClassLoader loader)
          Read an XmlSerializable object from a DataInput stream.
static Binary removeIntDecoration(Binary bin)
          Remove a decoration value from the specified Binary that contains a representation of an IntDecoratedObject.
static void reportIncompatibleSerializers(NamedCache cache, String sService, Serializer serializer)
          Log the message explaining the serializer incompatibility between the specified cache and a service.
static void setObjectStreamFactory(ObjectStreamFactory factory)
          Specify an ObjectStreamFactory that should be used to convert DataInput/Output into ObjectInput/Output streams.
static Binary toBinary(Object o)
          Write an object into a Binary object.
static Binary toBinary(Object o, Serializer serializer)
          Write an object into a Binary object using the specified Serializer.
static byte[] toByteArray(Object o)
          Write an object to a byte array.
static byte[] toByteArray(Object o, Serializer serializer)
          Write an object to a byte array using the specified Serializer.
static Binary toLiteBinary(ExternalizableLite o)
          Write an ExternalizableLite object into a Binary object.
static long translateTrint(int nTrint, long lCurrent)
          Convert a three-byte unsigned integer ("trint") to a long value.
static Binary undecorate(Binary bin, int nId)
          If the passed Binary is decorated, check for a decoration with the passed identify and remove it.
static void validateBufferSize(int cb)
          Verify that the requested buffer size is smaller than the configured maximum.
static void writeBigDecimal(DataOutput out, BigDecimal dec)
          Write a BigDecimal to a DataOutput stream.
static void writeBigInteger(DataOutput out, BigInteger bigint)
          Write a BigInteger to a DataOutput stream.
static void writeBooleanArray(DataOutput out, boolean[] af)
          Write a packed boolean array.
static void writeByteArray(DataOutput out, byte[] ab)
          Write a variable-length encoded byte array.
static void writeCollection(DataOutput out, Collection collection)
          Write collection content to a DataOutput stream.
static void writeDate(DataOutput out, Date date)
          Write a Date to a DataOutput stream.
static void writeDoubleArray(DataOutput out, double[] ad)
          Write an array of double numbers to a DataOutput stream.
static void writeExternalizableLite(DataOutput out, ExternalizableLite o)
          Write an ExternalizableLite object to a DataOutput stream.
static void writeFloatArray(DataOutput out, float[] afl)
          Write an array of float numbers to a DataOutput stream.
static void writeInt(DataOutput out, int n)
          Write an int to a stream using a variable length of storage.
static void writeLong(DataOutput out, long l)
          Write a long to a stream using a variable length of storage.
static void writeMap(DataOutput out, Map map)
          Write map content to a DataOutput stream.
static void writeObject(DataOutput out, Object o)
          Write the specified data to the passed DataOutput object.
static void writeSafeUTF(DataOutput out, String s)
          Write a variable-length encoded UTF packed String.
static void writeSerializable(DataOutput out, Object o)
          Write an object to a DataOutput stream.
static void writeStringArray(DataOutput out, String[] as)
          Write a String array.
static void writeTime(DataOutput out, Time time)
          Write a Time to a DataOutput stream.
static void writeTimestamp(DataOutput out, Timestamp dt)
          Write a Timestamp to a DataOutput stream.
static void writeTrint(DataOutput out, int n)
          Write a three-byte integer value to a stream.
static void writeTrint(DataOutput out, long l)
          Write a three-byte integer value to a stream.
static void writeUTF(DataOutput out, String s)
          Write a variable-length encoded UTF packed String.
static void writeXmlBean(DataOutput out, XmlBean bean)
          Write an XmlBean object to a DataOutput stream.
static void writeXmlSerializable(DataOutput out, XmlSerializable o)
          Write an XmlSerializable object to a DataOutput stream.

 

Field Detail

FMT_NONE

protected static final int FMT_NONE
Serialization format: Unknown value (alias to FMT_UNKNOWN).
See Also:
Constant Field Values

FMT_UNKNOWN

protected static final int FMT_UNKNOWN
Serialization format: Unknown value.
See Also:
Constant Field Values

FMT_NULL

protected static final int FMT_NULL
Serialization format: Null value.
See Also:
Constant Field Values

FMT_INT

protected static final int FMT_INT
Serialization format: Integer value.
See Also:
Constant Field Values

FMT_LONG

protected static final int FMT_LONG
Serialization format: Long value.
See Also:
Constant Field Values

FMT_DOUBLE

protected static final int FMT_DOUBLE
Serialization format: Double value.
See Also:
Constant Field Values

FMT_INTEGER

protected static final int FMT_INTEGER
Serialization format: BigInteger value.
See Also:
Constant Field Values

FMT_DECIMAL

protected static final int FMT_DECIMAL
Serialization format: BigDecimal value.
See Also:
Constant Field Values

FMT_STRING

protected static final int FMT_STRING
Serialization format: String value.
See Also:
Constant Field Values

FMT_BINARY

protected static final int FMT_BINARY
Serialization format: Binary value.
See Also:
Constant Field Values

FMT_B_ARRAY

protected static final int FMT_B_ARRAY
Serialization format: Byte array value.
See Also:
Constant Field Values

FMT_XML_SER

protected static final int FMT_XML_SER
Serialization format: XmlSerializable value.
See Also:
Constant Field Values

FMT_OBJ_EXT

protected static final int FMT_OBJ_EXT
Serialization format: ExternalizableLite value.
See Also:
Constant Field Values

FMT_OBJ_SER

protected static final int FMT_OBJ_SER
Serialization format: Serializable value.
See Also:
Constant Field Values

FMT_XML_BEAN

protected static final int FMT_XML_BEAN
Serialization format: XmlBean value.
See Also:
Constant Field Values

FMT_IDO

protected static final int FMT_IDO
Serialization format: Integer-decorated value.
See Also:
Constant Field Values

FMT_FLOAT

protected static final int FMT_FLOAT
Serialization format: Float value.
See Also:
Constant Field Values

FMT_SHORT

protected static final int FMT_SHORT
Serialization format: Short value.
See Also:
Constant Field Values

FMT_BYTE

protected static final int FMT_BYTE
Serialization format: Byte value.
See Also:
Constant Field Values

FMT_BOOLEAN

protected static final int FMT_BOOLEAN
Serialization format: Boolean value.
See Also:
Constant Field Values

FMT_BIN_DECO

protected static final int FMT_BIN_DECO
Serialization format: Decorated Binary value. <p/> Structure is: byte 0 : format identifier (18) byte 1 : bit mask of decoration identifiers (see DECO_* enums) byte 2 : packed int specifying the length of the first decorator byte next : binary data ... For each decorator, there is a packed int for its length, followed by its binary data. The first decorator is the decorated value itself, if present. <p/> Note: FMT_IDO cannot be combined with FMT_BIN_DECO.
See Also:
Constant Field Values

FMT_EXT

protected static final int FMT_EXT
Serialization format: A DefaultSerializer is NOT used
See Also:
Constant Field Values

DECO_ID_MIN

public static final int DECO_ID_MIN
Decoration range: The minimum decoration identifier.
See Also:
Constant Field Values

DECO_ID_MAX

public static final int DECO_ID_MAX
Decoration range: The maximum decoration identifier.
See Also:
Constant Field Values

DECO_VALUE

public static final int DECO_VALUE
Decoration: The original value (before being decorated).
See Also:
Constant Field Values

DECO_EXPIRY

public static final int DECO_EXPIRY
Decoration: The expiry for the value.
See Also:
Constant Field Values

DECO_STORE

public static final int DECO_STORE
Decoration: The persistent state for the value.
See Also:
Constant Field Values

DECO_CUSTOM

public static final int DECO_CUSTOM
Decoration: A client specific value (opaque).
See Also:
Constant Field Values

MAX_DECO_HEADER_BYTES

protected static final int MAX_DECO_HEADER_BYTES
The maximum number of bytes the header of the binary-decorated value may contain.
See Also:
Constant Field Values

TRINT_DOMAIN_SPAN

public static final int TRINT_DOMAIN_SPAN
Trints use 6 hexits (3 bytes), so the trint domain span is 0x01000000.
See Also:
Constant Field Values

TRINT_MAX_VALUE

public static final int TRINT_MAX_VALUE
Trints use 6 hexits (3 bytes), so the trint maximum is 0x00FFFFFF.
See Also:
Constant Field Values

TRINT_MAX_VARIANCE

public static final int TRINT_MAX_VARIANCE
Trints use 6 hexits (3 bytes), so the trint maximum variance (from a "current" value) is half the trint domain span, or 0x00800000.
See Also:
Constant Field Values

EMPTY_BINARY_ARRAY

public static final Binary[] EMPTY_BINARY_ARRAY
An empty array of Binary objects.

CONVERTER_TO_BINARY

public static final Converter CONVERTER_TO_BINARY
A converter from Object to Binary format that uses the DefaultSerializer.
Since:
Coherence 2.4

CONVERTER_FROM_BINARY

public static final Converter CONVERTER_FROM_BINARY
A converter from Binary to Object format, which uses the DefaultSerializer.
Since:
Coherence 2.4

CONVERTER_STRIP_INTDECO

public static final Converter CONVERTER_STRIP_INTDECO
A pass-through Binary converter that removes an IntDecoration if present.
Since:
Coherence 3.4

PROPERTY_CONFIG

public static final String PROPERTY_CONFIG
The name of the system property that can be used to override the location of the ExternalizableHelper configuration file. <p/> The value of this property must be the name of a resource that contains an XML document with the structure defined in the /com/tangosol/util/ExternalizableHelper.xml configuration descriptor.
See Also:
Constant Field Values

FORCE_RESOLVING_STREAMS

public static final boolean FORCE_RESOLVING_STREAMS
Option: Always use a ResolvingObjectInputStream, even if a regular ObjectInputStream is available.

USE_MARSHAL_STREAMS

public static final boolean USE_MARSHAL_STREAMS
Option: Use marshalling object streams that can read classes over the network.

USE_XMLBEAN_CLASS_CACHE

public static final boolean USE_XMLBEAN_CLASS_CACHE
Option: Use an XmlBean class cache.

XMLBEAN_CLASS_CACHE

public static final ExternalizableHelper.XmlBeanClassCache XMLBEAN_CLASS_CACHE
Option: XmlBean class cache implementation.

STATS_THRESHOLD

public static final int STATS_THRESHOLD
Option: Size of user type objects above which sizing stats are maintained.

USE_POF_STREAMS

public static final boolean USE_POF_STREAMS
Option: Use POF as the default serialization format.

s_streamfactory

public static ObjectStreamFactory s_streamfactory
Option: Configurable ObjectStreamFactory.

Constructor Detail

ExternalizableHelper

public ExternalizableHelper()

Method Detail

toByteArray

public static byte[] toByteArray(Object o)
Write an object to a byte array.
Parameters:
o - the object to write into a byte array
Returns:
a byte array containing the serialized form of the passed object
Throws:
WrapperException - may contain an IOException

toByteArray

public static byte[] toByteArray(Object o,
                                 Serializer serializer)
Write an object to a byte array using the specified Serializer.
Parameters:
o - the object to write into a byte array
serializer - the Serializer to use
Returns:
a byte array containing the serialized form of the passed object
Throws:
WrapperException - may contain an IOException

fromByteArray

public static Object fromByteArray(byte[] ab)
Read an object from a byte array.
Parameters:
ab - the byte array containing the object
Returns:
the object deserialized from the byte array
Throws:
WrapperException - may contain an IOException

fromByteArray

public static Object fromByteArray(byte[] ab,
                                   ClassLoader loader)
Read an object from a byte array.
Parameters:
ab - the byte array containing the object
loader - the ClassLoader to use
Returns:
the object deserialized from the byte array
Throws:
WrapperException - may contain an IOException

toBinary

public static Binary toBinary(Object o)
Write an object into a Binary object.
Parameters:
o - the object to write into a Binary object
Returns:
a Binary object containing a serialized form of the passed object
Throws:
WrapperException - may contain an IOException

toBinary

public static Binary toBinary(Object o,
                              Serializer serializer)
Write an object into a Binary object using the specified Serializer.
Parameters:
o - the object to write into a Binary object
serializer - the Serializer to use
Returns:
a Binary object containing a serialized form of the passed object
Throws:
WrapperException - may contain an IOException

fromBinary

public static Object fromBinary(Binary bin)
Read an object from a Binary object.
Parameters:
bin - the Binary object containing the serialized object
Returns:
the object deserialized from the Binary object
Throws:
WrapperException - may contain an IOException

fromBinary

public static Object fromBinary(Binary bin,
                                ClassLoader loader)
Read an object from a Binary object.
Parameters:
bin - the Binary object containing the serialized object
loader - the ClassLoader to use
Returns:
the object deserialized from the Binary object
Throws:
WrapperException - may contain an IOException

ensureSerializer

public static Serializer ensureSerializer(ClassLoader loader)
Obtain a Serializer for the specified ClassLoader. This method is intended to provide configurable indirection for the serialization of application objects.
Parameters:
loader - a ClassLoader
Returns:
the Serializer to use with the specified ClassLoader

toLiteBinary

public static Binary toLiteBinary(ExternalizableLite o)
Write an ExternalizableLite object into a Binary object. Unlike the toBinary, this method only serializes the object's content and not the identity part. To reconstruct the object frm that binary you would instantiate and "read" it as follows:
   ExternalizableLite o = new MyLiteObject();
   o.readExternal(bin.getBufferInput());
 
Parameters:
o - the ExternalizableLite object to write into a Binary object
Returns:
a Binary object containing a serialized form of the passed object
Throws:
WrapperException - may contain an IOException

readTrint

public static int readTrint(DataInput in)
                     throws IOException
Read a signed three-byte integer value from a stream.
Parameters:
in - DataInput stream to read from
Returns:
a three-byte signed integer value as an int
Throws:
IOException - if an I/O exception occurs

readUnsignedTrint

public static int readUnsignedTrint(DataInput in)
                             throws IOException
Read an unsigned three-byte integer value from a stream.
Parameters:
in - DataInput stream to read from
Returns:
a three-byte unsigned integer value as an int
Throws:
IOException - if an I/O exception occurs

writeTrint

public static void writeTrint(DataOutput out,
                              int n)
                       throws IOException
Write a three-byte integer value to a stream.
Parameters:
out - DataOutput stream to write to
n - a three-byte integer value passed as an int
Throws:
IOException - if an I/O exception occurs

writeTrint

public static void writeTrint(DataOutput out,
                              long l)
                       throws IOException
Write a three-byte integer value to a stream.
Parameters:
out - DataOutput stream to write to
l - a three-byte integer value passed as an long
Throws:
IOException - if an I/O exception occurs

makeTrint

public static int makeTrint(long l)
Convert a long integer to a trint.
Parameters:
l - the long value to convert to a trint
Returns:
the equivalent unsigned 3-byte integer value (a "trint")

translateTrint

public static long translateTrint(int nTrint,
                                  long lCurrent)
Convert a three-byte unsigned integer ("trint") to a long value. This guesses what the long value should be based on its proximity to the passed "current" long value.
Parameters:
nTrint - the unsigned 3-byte integer value (a "trint")
lCurrent - the signed 8-byte integer value that the trint will be translated based on ("close to")
Returns:
the long value represented by the trint

readInt

public static int readInt(DataInput in)
                   throws IOException
Read an int that uses variable length storage in the stream.
Parameters:
in - a DataInput stream to read from
Returns:
an int value
Throws:
IOException - if an I/O exception occurs

writeInt

public static void writeInt(DataOutput out,
                            int n)
                     throws IOException
Write an int to a stream using a variable length of storage.
Parameters:
out - a DataOutput stream to write to
n - an int value to write
Throws:
IOException - if an I/O exception occurs

readLong

public static long readLong(DataInput in)
                     throws IOException
Read a long that uses variable length storage in the stream.
Parameters:
in - a DataInput stream to read from
Returns:
a long value
Throws:
IOException - if an I/O exception occurs

writeLong

public static void writeLong(DataOutput out,
                             long l)
                      throws IOException
Write a long to a stream using a variable length of storage.
Parameters:
out - a DataOutput stream to write to
l - a long value to write
Throws:
IOException - if an I/O exception occurs

readBooleanArray

public static boolean[] readBooleanArray(DataInput in)
                                  throws IOException
Read a packed boolean array.
Parameters:
in - a DataInput stream to read from
Returns:
a boolean array value
Throws:
IOException - if an I/O exception occurs

writeBooleanArray

public static void writeBooleanArray(DataOutput out,
                                     boolean[] af)
                              throws IOException
Write a packed boolean array.
Parameters:
out - a DataOutput stream to write to
af - a boolean array value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readByteArray

public static byte[] readByteArray(DataInput in)
                            throws IOException
Read a variable-length encoded byte array.
Parameters:
in - a DataInput stream to read from
Returns:
a byte array value
Throws:
IOException - if an I/O exception occurs

writeByteArray

public static void writeByteArray(DataOutput out,
                                  byte[] ab)
                           throws IOException
Write a variable-length encoded byte array.
Parameters:
out - a DataOutput stream to write to
ab - a byte array value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readUTF

public static String readUTF(DataInput in)
                      throws IOException
Read a variable-length encoded UTF packed String. The major difference between this implementation and DataInputStream is that this is not limited to 64KB String values.

Note: This format changed in Coherence 3.0; previously the leading integer value was the number of characters, and currently it is the number of bytes as per the java.io package implementations.

Parameters:
in - a DataInput stream to read from
Returns:
a String value
Throws:
IOException - if an I/O exception occurs

convertUTF

public static String convertUTF(byte[] ab,
                                int of,
                                int cb,
                                char[] ach)
                         throws UTFDataFormatException
Convert binary UTF-8 encode data to a String. This method is a helper to allow various I/O implementations to share a single, efficient implementation.
Parameters:
ab - an array of bytes containing UTF-8 encoded characters
of - the offset into the array of the UTF-8 data to decode
cb - the binary length in the array of the UTF-8 data to decode
ach - a temp char array large enough to convert the UTF into
Returns:
a String value
Throws:
UTFDataFormatException - if the UTF data is corrupt

writeUTF

public static void writeUTF(DataOutput out,
                            String s)
                     throws IOException
Write a variable-length encoded UTF packed String. The major difference between this implementation and DataOutput stream is that this is not limited to 64KB String values.

Note: This format changed in Coherence 3.0; previously the leading integer value was the number of characters, and currently it is the number of bytes as per the java.io package implementations.

Parameters:
out - a DataOutput stream to write to
s - a String value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readSafeUTF

public static String readSafeUTF(DataInput in)
                          throws IOException
Read a variable-length encoded UTF packed String. The major difference between this implementation and DataInputStream is that this is not limited to 64KB String values and allows null value.

Note: This format changed in Coherence 3.0; previously the leading integer value was the number of characters, and currently it is the number of bytes as per the java.io package implementations.

Parameters:
in - a DataInput stream to read from
Returns:
a String value (could be null)
Throws:
IOException - if an I/O exception occurs

writeSafeUTF

public static void writeSafeUTF(DataOutput out,
                                String s)
                         throws IOException
Write a variable-length encoded UTF packed String. The major difference between this implementation and DataOutput stream is that this is not limited to 64KB String values and allows null value.

Note: This format changed in Coherence 3.0; previously the leading integer value was the number of characters, and currently it is the number of bytes as per the java.io package implementations.

Parameters:
out - a DataOutput stream to write to
s - a String value to write (could be null)
Throws:
IOException - if an I/O exception occurs

readStringArray

public static String[] readStringArray(DataInput in)
                                throws IOException
Read a String array.
Parameters:
in - a DataInput stream to read from
Returns:
a String array value
Throws:
IOException - if an I/O exception occurs

writeStringArray

public static void writeStringArray(DataOutput out,
                                    String[] as)
                             throws IOException
Write a String array.
Parameters:
out - a DataOutput stream to write to
as - a String array to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readBigInteger

public static BigInteger readBigInteger(DataInput in)
                                 throws IOException
Read a BigInteger from a DataInput stream.
Parameters:
in - a DataInput stream to read from
Returns:
a BigInteger value
Throws:
IOException - if an I/O exception occurs

writeBigInteger

public static void writeBigInteger(DataOutput out,
                                   BigInteger bigint)
                            throws IOException
Write a BigInteger to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
bigint - a BigInteger value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readBigDecimal

public static BigDecimal readBigDecimal(DataInput in)
                                 throws IOException
Read a BigDecimal from a DataInput stream.
Parameters:
in - a DataInput stream to read from
Returns:
a BigDecimal value
Throws:
IOException - if an I/O exception occurs

writeBigDecimal

public static void writeBigDecimal(DataOutput out,
                                   BigDecimal dec)
                            throws IOException
Write a BigDecimal to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
dec - a BigDecimal value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readDate

public static Date readDate(DataInput in)
                     throws IOException
Read a Date from a DataInput stream.
Parameters:
in - a DataInput stream to read from
Returns:
a Date value
Throws:
IOException - if an I/O exception occurs

writeDate

public static void writeDate(DataOutput out,
                             Date date)
                      throws IOException
Write a Date to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
date - a Date value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readTime

public static Time readTime(DataInput in)
                     throws IOException
Read a Time from a DataInput stream.
Parameters:
in - a DataInput stream to read from
Returns:
a Time value
Throws:
IOException - if an I/O exception occurs

writeTime

public static void writeTime(DataOutput out,
                             Time time)
                      throws IOException
Write a Time to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
time - a Time value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readTimestamp

public static Timestamp readTimestamp(DataInput in)
                               throws IOException
Read a Timestamp from a DataInput stream.
Parameters:
in - a DataInput stream to read from
Returns:
a Timestamp value
Throws:
IOException - if an I/O exception occurs

writeTimestamp

public static void writeTimestamp(DataOutput out,
                                  Timestamp dt)
                           throws IOException
Write a Timestamp to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
dt - a Timestamp value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readFloatArray

public static float[] readFloatArray(DataInput in)
                              throws IOException
Read an array of float numbers from a DataInput stream.
Parameters:
in - a DataInput stream to read from
Returns:
an array of floats
Throws:
IOException - if an I/O exception occurs

writeFloatArray

public static void writeFloatArray(DataOutput out,
                                   float[] afl)
                            throws IOException
Write an array of float numbers to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
afl - an array of floats to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readDoubleArray

public static double[] readDoubleArray(DataInput in)
                                throws IOException
Read an array of double numbers from a DataInput stream.
Parameters:
in - a DataInput stream to read from
Returns:
an array of doubles
Throws:
IOException - if an I/O exception occurs

writeDoubleArray

public static void writeDoubleArray(DataOutput out,
                                    double[] ad)
                             throws IOException
Write an array of double numbers to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
ad - an array of doubles to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readMap

public static int readMap(DataInput in,
                          Map map,
                          ClassLoader loader)
                   throws IOException
Read map content from a DataInput stream and update the specified map.

This method reads entries from the stream and "puts" them into the specified map one-by-one using the "put" method.

Parameters:
in - a DataInput stream to read from
map - a map to add the entries into
loader - the ClassLoader to use
Returns:
the number of read and inserted entries
Throws:
IOException - if an I/O exception occurs
See Also:
readMap(DataInput, Map, int, ClassLoader)

readMap

public static int readMap(DataInput in,
                          Map map,
                          int cBlock,
                          ClassLoader loader)
                   throws IOException
Read map content from a DataInput stream and update the specified map using the "putAll" method.

While the method readMap(DataInput, Map, ClassLoader) reads entries from the stream and "puts" them into the specified map one-by-one, this method collects up to the "block" number of entries into a temporary map and then updates the passed in map using the "putAll" method.

Parameters:
in - a DataInput stream to read from
map - a map to add the entries into
cBlock - the maximum number of entries to read at once
loader - the ClassLoader to use
Returns:
the number of read and inserted entries
Throws:
IOException - if an I/O exception occurs

writeMap

public static void writeMap(DataOutput out,
                            Map map)
                     throws IOException
Write map content to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
map - the map to write
Throws:
IOException - if an I/O exception occurs

readCollection

public static int readCollection(DataInput in,
                                 Collection collection,
                                 ClassLoader loader)
                          throws IOException
Read collection content from a DataInput stream and update the specified collection.

This method reads elements from the stream and adds them into the specified collection one-by-one using the "add" method.

Parameters:
in - a DataInput stream to read from
collection - a collection to add the elements into
loader - the ClassLoader to use
Returns:
the number of read and inserted elements
Throws:
IOException - if an I/O exception occurs

writeCollection

public static void writeCollection(DataOutput out,
                                   Collection collection)
                            throws IOException
Write collection content to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
collection - the collection to write
Throws:
IOException - if an I/O exception occurs

readXmlSerializable

public static XmlSerializable readXmlSerializable(DataInput in)
                                           throws IOException
Read an XmlSerializable object from a DataInput stream.
Parameters:
in - a DataInput stream to read from
Returns:
an XmlSerializable value
Throws:
IOException - if an I/O exception occurs

readXmlSerializable

public static XmlSerializable readXmlSerializable(DataInput in,
                                                  ClassLoader loader)
                                           throws IOException
Read an XmlSerializable object from a DataInput stream.
Parameters:
in - a DataInput stream to read from
loader - the ClassLoader to use
Returns:
an XmlSerializable value
Throws:
IOException - if an I/O exception occurs

writeXmlSerializable

public static void writeXmlSerializable(DataOutput out,
                                        XmlSerializable o)
                                 throws IOException
Write an XmlSerializable object to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
o - an XmlSerializable value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readExternalizableLite

public static ExternalizableLite readExternalizableLite(DataInput in)
                                                 throws IOException
Read an ExternalizableLite object from a DataInput stream.
Parameters:
in - a DataInput stream to read from
Returns:
an ExternalizableLite value
Throws:
IOException - if an I/O exception occurs

readExternalizableLite

public static ExternalizableLite readExternalizableLite(DataInput in,
                                                        ClassLoader loader)
                                                 throws IOException
Read an ExternalizableLite object from a DataInput stream.
Parameters:
in - a DataInput stream to read from
loader - the ClassLoader to use
Returns:
an ExternalizableLite value
Throws:
IOException - if an I/O exception occurs

writeExternalizableLite

public static void writeExternalizableLite(DataOutput out,
                                           ExternalizableLite o)
                                    throws IOException
Write an ExternalizableLite object to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
o - an ExternalizableLite value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readXmlBean

public static XmlBean readXmlBean(DataInput in,
                                  ClassLoader loader)
                           throws IOException
Read an XmlBean object from a DataInput stream.
Parameters:
in - a DataInput stream to read from
loader - the ClassLoader to use
Returns:
an XmlBean value
Throws:
IOException - if an I/O exception occurs

writeXmlBean

public static void writeXmlBean(DataOutput out,
                                XmlBean bean)
                         throws IOException
Write an XmlBean object to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
bean - an XmlBean value to write
Throws:
IOException - if an I/O exception occurs
NullPointerException - if null value if passed

readSerializable

public static Object readSerializable(DataInput in)
                               throws IOException
Read an object from a DataInput stream.
Parameters:
in - a DataInput stream to read from
Returns:
a value object
Throws:
IOException - if an I/O exception occurs

readSerializable

public static Object readSerializable(DataInput in,
                                      ClassLoader loader)
                               throws IOException
Read an object from a DataInput stream.
Parameters:
in - a DataInput stream to read from
loader - the ClassLoader to use
Returns:
a value object
Throws:
IOException - if an I/O exception occurs

writeSerializable

public static void writeSerializable(DataOutput out,
                                     Object o)
                              throws IOException
Write an object to a DataOutput stream.
Parameters:
out - a DataOutput stream to write to
o - a value object to write
Throws:
IOException - if an I/O exception occurs

readObject

public static Object readObject(DataInput in)
                         throws IOException
Read an Object from the passed DataInput object.
Parameters:
in - the DataInput stream to read an object from
Returns:
the object read from the DataInput; may be null
Throws:
IOException - if an I/O exception occurs

readObject

public static Object readObject(DataInput in,
                                ClassLoader loader)
                         throws IOException
Read an Object from the passed DataInput object.
Parameters:
in - the DataInput stream to read an object from
loader - the ClassLoader to use
Returns:
the object read from the DataInput; may be null
Throws:
IOException - if an I/O exception occurs

writeObject

public static void writeObject(DataOutput out,
                               Object o)
                        throws IOException
Write the specified data to the passed DataOutput object.
Parameters:
out - the DataOutput stream to write to
o - the data to write to the DataOutput; may be null
Throws:
IOException - if an I/O exception occurs

validateBufferSize

public static void validateBufferSize(int cb)
Verify that the requested buffer size is smaller than the configured maximum.
Parameters:
cb - size of the buffer being requested
Throws:
BufferOverflowException - if cb > MAX_BUFFER

loadClass

public static Class loadClass(String sClass,
                              ClassLoader loader1,
                              ClassLoader loader2)
                       throws ClassNotFoundException
Attempt to load the specified class using sequentionally all of the specified loaders, the ContextClassLoader and the current class loader.
Parameters:
sClass - the class name
loader1 - first ClassLoader to try
loader2 - second ClassLoader to try
Returns:
the Class for the specified name
Throws:
ClassNotFoundException - if all the attempts fail

loadResource

public static URL loadResource(String sName,
                               ClassLoader loader1,
                               ClassLoader loader2)
Attempt to find a valid, resolvable URL for the specified resource, first by using each of the specified ClassLoaders, then using the ContextClassLoader.
Parameters:
sName - the resource name
loader1 - first ClassLoader to try
loader2 - second ClassLoader to try
Returns:
the URL for the specified resource name, or null if the resource could not be found

getInputStream

public static InputStream getInputStream(DataInput in)
Get an InputStream for the passed DataInput object.
Parameters:
in - an Object implementing the DataInput interface
Returns:
an Object of type InputStream

getOutputStream

public static OutputStream getOutputStream(DataOutput out)
Get an OutputStream for the passed DataOutput object.
Parameters:
out - an Object implementing the DataOutput interface
Returns:
an Object of type OutputStream

getShieldedOutputStream

public static OutputStream getShieldedOutputStream(OutputStream out)
Get a shielded OutputStream for the passed OutputStream object.
Parameters:
out - an OutputStream
Returns:
an OutputStream that implements the Shielded interface

getObjectInput

public static ObjectInput getObjectInput(DataInput in,
                                         ClassLoader loader)
                                  throws IOException
Get an ObjectInput for the passed DataInput object.
Parameters:
in - an Object implementing the DataInput interface
loader - the ClassLoader to use
Returns:
an Object of type ObjectInput
Throws:
IOException - if an I/O exception occurs

getNewObjectInput

public static ObjectInput getNewObjectInput(DataInput in,
                                            ClassLoader loader)
                                     throws IOException
Get a new ObjectInput for the passed DataInput, even if the passed DataInput is an ObjectInput.
Parameters:
in - an Object implementing the DataInput interface
loader - the ClassLoader to use
Returns:
an Object of type ObjectInput that is guaranteed not to be the same reference as in
Throws:
IOException - if an I/O exception occurs

getObjectOutput

public static ObjectOutput getObjectOutput(DataOutput out)
                                    throws IOException
Get an ObjectOutput for the passed DataOutput object.
Parameters:
out - an Object implementing the DataOutput interface
Returns:
an Object of type ObjectOutput
Throws:
IOException - if an I/O exception occurs

isMarshalled

public static boolean isMarshalled(DataOutput out)
Determine whether the passed DataOutput handles marshalling of ObjectOutput.
Parameters:
out - an object implementing DataOutput
Returns:
true if the object implementing DataOutput also implements ObjectOutput and handles marshalling
Throws:
IOException - if an I/O exception occurs

isResolving

public static boolean isResolving(DataOutput out)
Determine whether the passed DataOutput handles ClassLoader resolving. Note that the ClassLoader resolving on the "write" side is necessary only to make the stream format symetrical for the "read" side.
Parameters:
out - an object implementing DataOutput
Returns:
true if the object implementing DataOutput also implements ObjectOutput and handles ClassLoader resolving

getObjectStreamFactory

public static ObjectStreamFactory getObjectStreamFactory()
Return the ObjectStreamFactory used to convert DataInput/Output into ObjectInput/Output streams.
Returns:
the currently used ObjectStreamFactory

setObjectStreamFactory

public static void setObjectStreamFactory(ObjectStreamFactory factory)
Specify an ObjectStreamFactory that should be used to convert DataInput/Output into ObjectInput/Output streams. <p/> Warning: This facility should be used with extreme care; failure to set the ObjectStreamFactory identically on all cluster nodes may render some of all clustered services completely inoperable,
Parameters:
factory - the ObjectStreamFactory to use

isSerializable

public static boolean isSerializable(Object o)
Determine if the resource object can be serialized using the DefaultSerializer.
Returns:
true iff the resource object can be serialized by the DefaultSerializer

getStreamFormat

protected static int getStreamFormat(Object o)
Internal: Select an optimal stream format to use to store the passed object in a stream (as used by the DefaultSerializer).
Parameters:
o - an Object
Returns:
a stream format to use to store the object in a stream

isSerializerCompatible

public static boolean isSerializerCompatible(Serializer serializerThis,
                                             Serializer serializerThat)
Determines whether or not the specified serializers are compatible. In other words, this method returns true iff object serialized with the first Serializer can be deserialized by the second and visa versa.
Parameters:
serializerThis - the first Serializer
serializerThis - the second Serializer
Returns:
true iff the two Serializers are stream compatible

reportIncompatibleSerializers

public static void reportIncompatibleSerializers(NamedCache cache,
                                                 String sService,
                                                 Serializer serializer)
Log the message explaining the serializer incompatibility between the specified cache and a service.
Parameters:
cache - the NamedCachce reference
sService - the service name
serializer - the serializer used by the service

isDecorated

public static boolean isDecorated(Binary bin)
If the Binary is the result of serialization by ExternalizableHelper, determine if the Binary contains decorations. <p/> Note: This method can only be used against Binary values that result from serialization by ExternalizableHelper or Binary values that are already decorated.
Parameters:
bin - the Binary to check
Returns:
true if the Binary is decorated

decorate

public static Binary decorate(Binary bin,
                              int nId,
                              Binary binDecoration)
If the passed Binary is decorated, add the passed decoration and return the resulting new Binary; otherwise, create a decorated version of the passed Binary containing the passed decoration and return the resulting new Binary. <p/> Note: This method can only be used against Binary values that result from serialization by ExternalizableHelper or Binary values that are already decorated.
Parameters:
bin - the Binary to decorate
nId - the identifier for the decoration
binDecoration - the decoration to apply
Returns:
a decorated Binary containing the passed decoration

decorate

public static Binary decorate(Binary bin,
                              Binary[] abinDecorations)
If the passed Binary is decorated, add the passed decorations and return the resulting new Binary; otherwise, create a decorated version of the passed Binary containing the passed decorations and return the resulting new Binary. <p/> Note: This method can only be used against Binary values that result from serialization by ExternalizableHelper or Binary values that are already decorated.
Parameters:
bin - the Binary to decorate; may be null
abinDecorations - the decorations to apply; each non-null element is assumed to be a decoration to add whose identifier is its index in the array
Returns:
a decorated Binary containing the passed decorations

getDecoration

public static Binary getDecoration(Binary bin,
                                   int nId)
If the passed Binary is decorated, check for and return (if it exists) the decoration for the specified identifier. <p/> Note: This method can only be used against Binary values that result from serialization by ExternalizableHelper or Binary values that are already decorated.
Parameters:
bin - the Binary that may be decorated
nId - the identifier for the decoration
Returns:
the Binary decoration, or null if the passed Binary is not decorated or if no decoration was found for the specified identifier

getDecorations

public static Binary[] getDecorations(Binary bin)
If the passed Binary is decorated, return an array containing all of its decorations. <p/> Note: This method can only be used against Binary values that result from serialization by ExternalizableHelper or Binary values that are already decorated.
Parameters:
bin - the Binary that may be decorated
Returns:
an array of all Binary decorations that are present on the passed Binary, indexed by the DECO_* constants

undecorate

public static Binary undecorate(Binary bin,
                                int nId)
If the passed Binary is decorated, check for a decoration with the passed identify and remove it. If the resulting Binary has no decorations remaining, return the undecorated Binary; otherwise return the decorated Binary with the remaining decorations. <p/> Note: This method can only be used against Binary values that result from serialization by ExternalizableHelper or Binary values that are already decorated.
Parameters:
bin - the Binary to undecorate
nId - the identifier for the decoration to remove
Returns:
a Binary that may be decorated or undecorated

getUndecorated

public static Binary getUndecorated(Binary bin)
If the passed Binary is decorated, extract the original Binary value that the decorations were added to, otherwise return the passed Binary value. <p/> Note: This method can only be used against Binary values that result from serialization by ExternalizableHelper or Binary values that are already decorated.
Returns:
the undecorated Binary value, or null if the Binary value is decorated but does not contain an original Binary value

main

public static void main(String[] asArgs)
Parse a hex string representing a serialialized object.

Example:

   java com.tangosol.util.ExternalizableHelper 0x0603486921
 

decorate

public static ExternalizableHelper.IntDecoratedObject decorate(Object oValue,
                                                               int nDecoration)
Decorate the specified value with the specified integer decoration.
Parameters:
oValue - the value to be decorated
nDecoration - the integer decoration
Returns:
the decorated object

decorateBinary

public static Binary decorateBinary(Binary binValue,
                                    int nDecoration)
Decorate the specified Binary value with the specified integer decoration.
Parameters:
binValue - the Binary value to be decorated
nDecoration - the integer decoration
Returns:
the decorated (with integer decoration) Binary object

isIntDecorated

public static boolean isIntDecorated(Binary bin)
Check whether or not the specified Binary is a representation of an IntDecoratedObject.
Parameters:
bin - the Binary object
Returns:
true if the Binary contains (starts with) a representation of an IntDecoratedObject; false otherwise

extractIntDecoration

public static int extractIntDecoration(Binary bin)
Extract a decoration value from the specified Binary that contains a representation of an IntDecoratedObject.
Parameters:
bin - the Binary object
Returns:
the integer decoration value

removeIntDecoration

public static Binary removeIntDecoration(Binary bin)
Remove a decoration value from the specified Binary that contains a representation of an IntDecoratedObject.
Parameters:
bin - the Binary object
Returns:
the undecorated Binary value

Skip navigation links

Oracle® Coherence Java API Reference
Release 3.6.0.0

E15725-01


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