com.caucho.hessian.io
Class UnsafeSerializer

java.lang.Object
  extended by com.caucho.hessian.io.AbstractSerializer
      extended by com.caucho.hessian.io.UnsafeSerializer
All Implemented Interfaces:
Serializer

public class UnsafeSerializer
extends AbstractSerializer

Serializing an object for known object types.


Nested Class Summary
(package private) static class UnsafeSerializer.BooleanFieldSerializer
           
(package private) static class UnsafeSerializer.ByteFieldSerializer
           
(package private) static class UnsafeSerializer.CharFieldSerializer
           
(package private) static class UnsafeSerializer.DateFieldSerializer
           
(package private) static class UnsafeSerializer.DoubleFieldSerializer
           
(package private) static class UnsafeSerializer.FieldSerializer
           
(package private) static class UnsafeSerializer.FloatFieldSerializer
           
(package private) static class UnsafeSerializer.IntFieldSerializer
           
(package private) static class UnsafeSerializer.LongFieldSerializer
           
(package private) static class UnsafeSerializer.ObjectFieldSerializer
           
(package private) static class UnsafeSerializer.ShortFieldSerializer
           
(package private) static class UnsafeSerializer.StringFieldSerializer
           
 
Nested classes/interfaces inherited from class com.caucho.hessian.io.AbstractSerializer
AbstractSerializer.NullSerializer
 
Field Summary
private  java.lang.reflect.Field[] _fields
           
private  UnsafeSerializer.FieldSerializer[] _fieldSerializers
           
private static boolean _isEnabled
           
private static java.util.WeakHashMap<java.lang.Class<?>,java.lang.ref.SoftReference<UnsafeSerializer>> _serializerMap
           
private static sun.misc.Unsafe _unsafe
           
private static java.util.logging.Logger log
           
private static java.lang.Object[] NULL_ARGS
           
 
Fields inherited from class com.caucho.hessian.io.AbstractSerializer
NULL
 
Constructor Summary
UnsafeSerializer(java.lang.Class<?> cl)
           
 
Method Summary
static UnsafeSerializer create(java.lang.Class<?> cl)
           
private static UnsafeSerializer.FieldSerializer getFieldSerializer(java.lang.reflect.Field field)
           
protected  void introspect(java.lang.Class<?> cl)
           
static boolean isEnabled()
           
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

_isEnabled

private static boolean _isEnabled

_unsafe

private static sun.misc.Unsafe _unsafe

_serializerMap

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

NULL_ARGS

private static java.lang.Object[] NULL_ARGS

_fields

private java.lang.reflect.Field[] _fields

_fieldSerializers

private UnsafeSerializer.FieldSerializer[] _fieldSerializers
Constructor Detail

UnsafeSerializer

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

isEnabled

public static boolean isEnabled()

create

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

introspect

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

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 final void writeInstance(java.lang.Object obj,
                                AbstractHessianOutput out)
                         throws java.io.IOException
Overrides:
writeInstance in class AbstractSerializer
Throws:
java.io.IOException

getFieldSerializer

private static UnsafeSerializer.FieldSerializer getFieldSerializer(java.lang.reflect.Field field)


Copyright 2003-2011. All Rights Reserved.