com.caucho.hessian.io
Class JavaSerializer

java.lang.Object
  extended by com.caucho.hessian.io.AbstractSerializer
      extended by com.caucho.hessian.io.JavaSerializer
All Implemented Interfaces:
Serializer
Direct Known Subclasses:
ThrowableSerializer

public class JavaSerializer
extends AbstractSerializer

Serializing an object for known object types.


Nested Class Summary
(package private) static class JavaSerializer.BooleanFieldSerializer
           
(package private) static class JavaSerializer.DateFieldSerializer
           
(package private) static class JavaSerializer.DoubleFieldSerializer
           
(package private) static class JavaSerializer.FieldSerializer
           
(package private) static class JavaSerializer.IntFieldSerializer
           
(package private) static class JavaSerializer.LongFieldSerializer
           
(package private) static class JavaSerializer.StringFieldSerializer
           
 
Nested classes/interfaces inherited from class com.caucho.hessian.io.AbstractSerializer
AbstractSerializer.NullSerializer
 
Field Summary
private  java.lang.reflect.Field[] _fields
           
private  JavaSerializer.FieldSerializer[] _fieldSerializers
           
private static java.util.WeakHashMap<java.lang.Class<?>,java.lang.ref.SoftReference<JavaSerializer>> _serializerMap
           
private  java.lang.reflect.Method _writeReplace
           
private  java.lang.Object _writeReplaceFactory
           
private static java.util.logging.Logger log
           
 
Fields inherited from class com.caucho.hessian.io.AbstractSerializer
NULL
 
Constructor Summary
JavaSerializer(java.lang.Class<?> cl)
           
 
Method Summary
static Serializer create(java.lang.Class<?> cl)
           
private static JavaSerializer.FieldSerializer getFieldSerializer(java.lang.Class type)
           
protected static java.lang.reflect.Method getWriteReplace(java.lang.Class cl)
          Returns the writeReplace method
protected  java.lang.reflect.Method getWriteReplace(java.lang.Class cl, java.lang.Class param)
          Returns the writeReplace method
protected  void introspect(java.lang.Class<?> cl)
           
private  void writeDefinition20(AbstractHessianOutput out)
           
 void writeInstance(java.lang.Object obj, AbstractHessianOutput out)
           
 void writeObject(java.lang.Object obj, AbstractHessianOutput out)
           
protected  void writeObject10(java.lang.Object obj, AbstractHessianOutput out)
           
 
Methods inherited from class com.caucho.hessian.io.AbstractSerializer
getClass, writeDefinition20, writeReplace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final java.util.logging.Logger log

_serializerMap

private static final java.util.WeakHashMap<java.lang.Class<?>,java.lang.ref.SoftReference<JavaSerializer>> _serializerMap

_fields

private java.lang.reflect.Field[] _fields

_fieldSerializers

private JavaSerializer.FieldSerializer[] _fieldSerializers

_writeReplaceFactory

private java.lang.Object _writeReplaceFactory

_writeReplace

private java.lang.reflect.Method _writeReplace
Constructor Detail

JavaSerializer

public JavaSerializer(java.lang.Class<?> cl)
Method Detail

create

public static Serializer create(java.lang.Class<?> cl)

introspect

protected void introspect(java.lang.Class<?> cl)

getWriteReplace

protected static java.lang.reflect.Method getWriteReplace(java.lang.Class cl)
Returns the writeReplace method


getWriteReplace

protected java.lang.reflect.Method getWriteReplace(java.lang.Class cl,
                                                   java.lang.Class param)
Returns the writeReplace method


writeObject

public void writeObject(java.lang.Object obj,
                        AbstractHessianOutput out)
                 throws java.io.IOException
Specified by:
writeObject in interface Serializer
Overrides:
writeObject in class AbstractSerializer
Throws:
java.io.IOException

writeObject10

protected void writeObject10(java.lang.Object obj,
                             AbstractHessianOutput out)
                      throws java.io.IOException
Overrides:
writeObject10 in class AbstractSerializer
Throws:
java.io.IOException

writeDefinition20

private void writeDefinition20(AbstractHessianOutput out)
                        throws java.io.IOException
Throws:
java.io.IOException

writeInstance

public void writeInstance(java.lang.Object obj,
                          AbstractHessianOutput out)
                   throws java.io.IOException
Overrides:
writeInstance in class AbstractSerializer
Throws:
java.io.IOException

getFieldSerializer

private static JavaSerializer.FieldSerializer getFieldSerializer(java.lang.Class type)


Copyright 2003-2011. All Rights Reserved.