org.identityconnectors.framework.impl.serializer.binary
Class BinaryObjectEncoder

java.lang.Object
  extended by org.identityconnectors.framework.impl.serializer.binary.BinaryObjectEncoder
All Implemented Interfaces:
BinaryObjectSerializer, ObjectEncoder

public class BinaryObjectEncoder
extends Object
implements ObjectEncoder, BinaryObjectSerializer


Field Summary
static int ENCODING_VERSION
          Version for the overall encoding - if we need to change anything in the encoder, we will need to bump this and handle appropriately
static byte FIELD_TYPE_ANONYMOUS_FIELD
           
static byte FIELD_TYPE_END_OBJECT
           
static byte FIELD_TYPE_NAMED_FIELD
           
static int OBJECT_MAGIC
           
static byte OBJECT_TYPE_ARRAY
           
static byte OBJECT_TYPE_CLASS
           
static byte OBJECT_TYPE_NULL
           
 
Constructor Summary
BinaryObjectEncoder(OutputStream output)
           
 
Method Summary
 void close()
           
 void flush()
           
 void writeBooleanContents(boolean v)
          Writes the value in-line.
 void writeBooleanField(String fieldName, boolean v)
          Writes a boolean.
 void writeByteArrayContents(byte[] v)
          Special case for byte [] that uses base64 encoding for XML
 void writeClassContents(Class<?> v)
          Writes the value in-line.
 void writeClassField(String fieldName, Class<?> v)
          Writes a Class.
 void writeDoubleContents(double v)
          Writes the value in-line.
 void writeDoubleField(String fieldName, double v)
          Writes a double.
 void writeFloatContents(float v)
          Writes the value in-line.
 void writeFloatField(String fieldName, float v)
          Writes a float.
 void writeIntContents(int v)
          Writes the value in-line.
 void writeIntField(String fieldName, int v)
          Writes an int.
 void writeLongContents(long v)
          Writes the value in-line.
 void writeLongField(String fieldName, long v)
          Writes a long.
 void writeObject(Object o)
           
 void writeObjectContents(Object object)
          Writes a sub-object
 void writeObjectField(String fieldName, Object object, boolean inline)
          Writes an object using the appropriate serializer for that object
 void writeStringContents(String str)
          Writes the value in-line.
 void writeStringField(String fieldName, String v)
          Writes a String.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ENCODING_VERSION

public static final int ENCODING_VERSION
Version for the overall encoding - if we need to change anything in the encoder, we will need to bump this and handle appropriately

See Also:
Constant Field Values

OBJECT_MAGIC

public static final int OBJECT_MAGIC
See Also:
Constant Field Values

OBJECT_TYPE_NULL

public static final byte OBJECT_TYPE_NULL
See Also:
Constant Field Values

OBJECT_TYPE_CLASS

public static final byte OBJECT_TYPE_CLASS
See Also:
Constant Field Values

OBJECT_TYPE_ARRAY

public static final byte OBJECT_TYPE_ARRAY
See Also:
Constant Field Values

FIELD_TYPE_ANONYMOUS_FIELD

public static final byte FIELD_TYPE_ANONYMOUS_FIELD
See Also:
Constant Field Values

FIELD_TYPE_NAMED_FIELD

public static final byte FIELD_TYPE_NAMED_FIELD
See Also:
Constant Field Values

FIELD_TYPE_END_OBJECT

public static final byte FIELD_TYPE_END_OBJECT
See Also:
Constant Field Values
Constructor Detail

BinaryObjectEncoder

public BinaryObjectEncoder(OutputStream output)
Method Detail

flush

public void flush()
Specified by:
flush in interface BinaryObjectSerializer

close

public void close()
Specified by:
close in interface BinaryObjectSerializer

writeObject

public void writeObject(Object o)
Specified by:
writeObject in interface BinaryObjectSerializer

writeBooleanContents

public void writeBooleanContents(boolean v)
Description copied from interface: ObjectEncoder
Writes the value in-line.

Specified by:
writeBooleanContents in interface ObjectEncoder

writeBooleanField

public void writeBooleanField(String fieldName,
                              boolean v)
Description copied from interface: ObjectEncoder
Writes a boolean.

Specified by:
writeBooleanField in interface ObjectEncoder

writeByteArrayContents

public void writeByteArrayContents(byte[] v)
Description copied from interface: ObjectEncoder
Special case for byte [] that uses base64 encoding for XML

Specified by:
writeByteArrayContents in interface ObjectEncoder

writeClassContents

public void writeClassContents(Class<?> v)
Description copied from interface: ObjectEncoder
Writes the value in-line.

Specified by:
writeClassContents in interface ObjectEncoder

writeClassField

public void writeClassField(String fieldName,
                            Class<?> v)
Description copied from interface: ObjectEncoder
Writes a Class.

Specified by:
writeClassField in interface ObjectEncoder

writeDoubleContents

public void writeDoubleContents(double v)
Description copied from interface: ObjectEncoder
Writes the value in-line.

Specified by:
writeDoubleContents in interface ObjectEncoder

writeDoubleField

public void writeDoubleField(String fieldName,
                             double v)
Description copied from interface: ObjectEncoder
Writes a double.

Specified by:
writeDoubleField in interface ObjectEncoder

writeFloatContents

public void writeFloatContents(float v)
Description copied from interface: ObjectEncoder
Writes the value in-line.

Specified by:
writeFloatContents in interface ObjectEncoder

writeFloatField

public void writeFloatField(String fieldName,
                            float v)
Description copied from interface: ObjectEncoder
Writes a float.

Specified by:
writeFloatField in interface ObjectEncoder

writeIntContents

public void writeIntContents(int v)
Description copied from interface: ObjectEncoder
Writes the value in-line.

Specified by:
writeIntContents in interface ObjectEncoder

writeIntField

public void writeIntField(String fieldName,
                          int v)
Description copied from interface: ObjectEncoder
Writes an int.

Specified by:
writeIntField in interface ObjectEncoder

writeLongContents

public void writeLongContents(long v)
Description copied from interface: ObjectEncoder
Writes the value in-line.

Specified by:
writeLongContents in interface ObjectEncoder

writeLongField

public void writeLongField(String fieldName,
                           long v)
Description copied from interface: ObjectEncoder
Writes a long.

Specified by:
writeLongField in interface ObjectEncoder

writeObjectContents

public void writeObjectContents(Object object)
Description copied from interface: ObjectEncoder
Writes a sub-object

Specified by:
writeObjectContents in interface ObjectEncoder
Parameters:
object - The object to write

writeObjectField

public void writeObjectField(String fieldName,
                             Object object,
                             boolean inline)
Description copied from interface: ObjectEncoder
Writes an object using the appropriate serializer for that object

Specified by:
writeObjectField in interface ObjectEncoder
inline - Ignore for binary serialization. For xml serialization, this causes us not to have a sub-element. When inlining, polymorphic typing is not supported.

writeStringContents

public void writeStringContents(String str)
Description copied from interface: ObjectEncoder
Writes the value in-line.

Specified by:
writeStringContents in interface ObjectEncoder

writeStringField

public void writeStringField(String fieldName,
                             String v)
Description copied from interface: ObjectEncoder
Writes a String.

Specified by:
writeStringField in interface ObjectEncoder


Copyright © 2011. All Rights Reserved.