org.granite.messaging.jmf.codec.std.impl
Class ArrayCodecImpl

java.lang.Object
  extended by org.granite.messaging.jmf.codec.std.impl.AbstractStandardCodec<T>
      extended by org.granite.messaging.jmf.codec.std.impl.AbstractIntegerStringCodec<Object>
          extended by org.granite.messaging.jmf.codec.std.impl.ArrayCodecImpl
All Implemented Interfaces:
ConditionalObjectCodec, StandardCodec<Object>, ArrayCodec, JMFConstants

public class ArrayCodecImpl
extends AbstractIntegerStringCodec<Object>
implements ArrayCodec

Author:
Franck WOLFF

Nested Class Summary
 
Nested classes/interfaces inherited from class org.granite.messaging.jmf.codec.std.impl.AbstractIntegerStringCodec
AbstractIntegerStringCodec.IntegerComponents, AbstractIntegerStringCodec.StringTypeHandler
 
Field Summary
 
Fields inherited from class org.granite.messaging.jmf.codec.std.impl.AbstractIntegerStringCodec
JMF_STRING_TYPE_HANDLER
 
Fields inherited from interface org.granite.messaging.jmf.JMFConstants
CLIENT_PERSISTENCE_COLLECTION_PACKAGE, JMF_1111_1010, JMF_1111_1011, JMF_1111_1100, JMF_1111_1101, JMF_1111_1110, JMF_1111_1111, JMF_ARRAY, JMF_ARRAY_LIST, JMF_BIG_DECIMAL, JMF_BIG_INTEGER, JMF_BOOLEAN, JMF_BOOLEAN_OBJECT, JMF_BYTE, JMF_BYTE_OBJECT, JMF_CHARACTER, JMF_CHARACTER_OBJECT, JMF_CLASS, JMF_DATE, JMF_DOUBLE, JMF_DOUBLE_OBJECT, JMF_ENUM, JMF_FLOAT, JMF_FLOAT_OBJECT, JMF_HASH_MAP, JMF_HASH_SET, JMF_INTEGER, JMF_INTEGER_OBJECT, JMF_LONG, JMF_LONG_OBJECT, JMF_NULL, JMF_OBJECT, JMF_OBJECT_END, JMF_SHORT, JMF_SHORT_OBJECT, JMF_SQL_DATE, JMF_SQL_TIME, JMF_SQL_TIMESTAMP, JMF_STRING, JMF_X011_1100, JMF_X011_1101, JMF_X011_1110, JMF_X011_1111, JMF_XX01_1110, JMF_XX01_1111, JMF_XXX0_1110, JMF_XXX0_1111, JMF_XXXX_0110, JMF_XXXX_0111, UTF8
 
Constructor Summary
ArrayCodecImpl()
           
 
Method Summary
 boolean canEncode(Object v)
           
 Object decode(InputContext ctx, int parameterizedJmfType)
           
 void dump(DumpContext ctx, int parameterizedJmfType)
           
protected  void dumpObjectArray(DumpContext ctx, int parameterizedJmfComponentType, int length, int dimensions)
           
protected  void dumpObjectArray(DumpContext ctx, String componentTypeName, int length)
           
protected  void dumpPrimitiveArray(DumpContext ctx, Class<?> componentType, int jmfComponentType, int length)
           
protected  void dumpPrimitiveArray(DumpContext ctx, Class<?> componentType, int jmfComponentType, int length, int dimensions)
           
 void encode(OutputContext ctx, Object v)
           
protected  int getArrayDimensions(Object v)
           
protected  Class<?> getComponentType(Object v)
           
 int getObjectType()
           
protected  int lengthOfBooleanArray(int nb)
           
protected  Object newArray(Class<?> type, int length, int dimensions)
           
protected  String newDumpObjectArray(String componentTypeName, int length, int dimensions)
           
protected  String newDumpPrimitiveArray(int jmfComponentType, int length, int dimensions)
           
protected  Object readObjectArray(InputContext ctx, Class<?> componentType, int length)
           
protected  Object readObjectArray(InputContext ctx, int parameterizedJmfComponentType, int length, int dimensions)
           
protected  Object readPrimitiveArray(InputContext ctx, Class<?> componentType, int jmfComponentType, int length)
           
protected  Object readPrimitiveArray(InputContext ctx, Class<?> componentType, int jmfComponentType, int length, int dimensions)
           
protected  void writeObjectArray(OutputContext ctx, Object v)
           
protected  void writeObjectArray(OutputContext ctx, Object v, int dimensions, boolean writeDimensions)
           
protected  void writePrimitiveArray(OutputContext ctx, Object v, int jmfComponentType, boolean writeType)
           
protected  void writePrimitiveArray(OutputContext ctx, Object v, int jmfComponentType, int dimensions, boolean writeDimensionsAndType)
           
 
Methods inherited from class org.granite.messaging.jmf.codec.std.impl.AbstractIntegerStringCodec
intComponents, readIntData, readString, readString, writeIntData, writeString
 
Methods inherited from class org.granite.messaging.jmf.codec.std.impl.AbstractStandardCodec
escape, escape, escape, newBadTypeJMFEncodingException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArrayCodecImpl

public ArrayCodecImpl()
Method Detail

getObjectType

public int getObjectType()
Specified by:
getObjectType in interface StandardCodec<Object>

canEncode

public boolean canEncode(Object v)
Specified by:
canEncode in interface ConditionalObjectCodec

encode

public void encode(OutputContext ctx,
                   Object v)
            throws IOException
Specified by:
encode in interface StandardCodec<Object>
Specified by:
encode in interface ArrayCodec
Throws:
IOException

decode

public Object decode(InputContext ctx,
                     int parameterizedJmfType)
              throws IOException,
                     ClassNotFoundException
Specified by:
decode in interface StandardCodec<Object>
Specified by:
decode in interface ArrayCodec
Throws:
IOException
ClassNotFoundException

dump

public void dump(DumpContext ctx,
                 int parameterizedJmfType)
          throws IOException
Specified by:
dump in interface StandardCodec<Object>
Throws:
IOException

writeObjectArray

protected void writeObjectArray(OutputContext ctx,
                                Object v,
                                int dimensions,
                                boolean writeDimensions)
                         throws IOException
Throws:
IOException

writeObjectArray

protected void writeObjectArray(OutputContext ctx,
                                Object v)
                         throws IOException
Throws:
IOException

writePrimitiveArray

protected void writePrimitiveArray(OutputContext ctx,
                                   Object v,
                                   int jmfComponentType,
                                   int dimensions,
                                   boolean writeDimensionsAndType)
                            throws IOException
Throws:
IOException

writePrimitiveArray

protected void writePrimitiveArray(OutputContext ctx,
                                   Object v,
                                   int jmfComponentType,
                                   boolean writeType)
                            throws IOException
Throws:
IOException

getArrayDimensions

protected int getArrayDimensions(Object v)

getComponentType

protected Class<?> getComponentType(Object v)

readObjectArray

protected Object readObjectArray(InputContext ctx,
                                 int parameterizedJmfComponentType,
                                 int length,
                                 int dimensions)
                          throws IOException,
                                 ClassNotFoundException
Throws:
IOException
ClassNotFoundException

dumpObjectArray

protected void dumpObjectArray(DumpContext ctx,
                               int parameterizedJmfComponentType,
                               int length,
                               int dimensions)
                        throws IOException
Throws:
IOException

readObjectArray

protected Object readObjectArray(InputContext ctx,
                                 Class<?> componentType,
                                 int length)
                          throws IOException,
                                 ClassNotFoundException
Throws:
IOException
ClassNotFoundException

dumpObjectArray

protected void dumpObjectArray(DumpContext ctx,
                               String componentTypeName,
                               int length)
                        throws IOException
Throws:
IOException

newDumpObjectArray

protected String newDumpObjectArray(String componentTypeName,
                                    int length,
                                    int dimensions)

readPrimitiveArray

protected Object readPrimitiveArray(InputContext ctx,
                                    Class<?> componentType,
                                    int jmfComponentType,
                                    int length,
                                    int dimensions)
                             throws IOException
Throws:
IOException

dumpPrimitiveArray

protected void dumpPrimitiveArray(DumpContext ctx,
                                  Class<?> componentType,
                                  int jmfComponentType,
                                  int length,
                                  int dimensions)
                           throws IOException
Throws:
IOException

readPrimitiveArray

protected Object readPrimitiveArray(InputContext ctx,
                                    Class<?> componentType,
                                    int jmfComponentType,
                                    int length)
                             throws IOException
Throws:
IOException

dumpPrimitiveArray

protected void dumpPrimitiveArray(DumpContext ctx,
                                  Class<?> componentType,
                                  int jmfComponentType,
                                  int length)
                           throws IOException
Throws:
IOException

newDumpPrimitiveArray

protected String newDumpPrimitiveArray(int jmfComponentType,
                                       int length,
                                       int dimensions)
                                throws IOException
Throws:
IOException

newArray

protected Object newArray(Class<?> type,
                          int length,
                          int dimensions)

lengthOfBooleanArray

protected int lengthOfBooleanArray(int nb)