com.caucho.hessian.io
Class ContextSerializerFactory

java.lang.Object
  extended by com.caucho.hessian.io.ContextSerializerFactory

public class ContextSerializerFactory
extends java.lang.Object

The classloader-specific Factory for returning serialization


Field Summary
private static java.util.WeakHashMap<java.lang.ClassLoader,java.lang.ref.SoftReference<ContextSerializerFactory>> _contextRefMap
           
private  java.util.concurrent.ConcurrentHashMap<java.lang.String,Deserializer> _customDeserializerMap
           
private  java.util.concurrent.ConcurrentHashMap<java.lang.String,Serializer> _customSerializerMap
           
private  java.util.HashMap<java.lang.String,Deserializer> _deserializerClassMap
           
private  java.util.HashMap<java.lang.String,Deserializer> _deserializerClassNameMap
           
private  java.util.HashSet<java.lang.String> _deserializerFiles
           
private  java.util.HashMap<java.lang.Class,Deserializer> _deserializerInterfaceMap
           
private  java.lang.ClassLoader _loader
           
private  ContextSerializerFactory _parent
           
private  java.util.HashMap<java.lang.String,Serializer> _serializerClassMap
           
private  java.util.HashSet<java.lang.String> _serializerFiles
           
private  java.util.HashMap<java.lang.Class,Serializer> _serializerInterfaceMap
           
private static java.util.HashMap _staticClassNameMap
           
private static java.util.HashMap<java.lang.String,Deserializer> _staticDeserializerMap
           
private static java.util.HashMap<java.lang.String,Serializer> _staticSerializerMap
           
private static java.lang.ClassLoader _systemClassLoader
           
private static java.util.logging.Logger log
           
private static Deserializer OBJECT_DESERIALIZER
           
 
Constructor Summary
ContextSerializerFactory(ContextSerializerFactory parent, java.lang.ClassLoader loader)
           
 
Method Summary
private static void addBasic(java.lang.Class cl, java.lang.String typeName, int type)
           
static ContextSerializerFactory create()
           
static ContextSerializerFactory create(java.lang.ClassLoader loader)
           
 java.lang.ClassLoader getClassLoader()
           
 Deserializer getCustomDeserializer(java.lang.Class cl)
          Returns a custom deserializer the class
 Serializer getCustomSerializer(java.lang.Class cl)
          Returns a custom serializer the class
 Deserializer getDeserializer(java.lang.String className)
          Returns the deserializer for a given class.
 Serializer getSerializer(java.lang.String className)
          Returns the serializer for a given class.
private  void init()
          Initialize the factory
private  void initSerializerFiles(java.lang.String fileName, java.util.HashSet<java.lang.String> fileList, java.util.HashMap<java.lang.Class,java.lang.Class> classMap, java.lang.Class type)
           
 
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

OBJECT_DESERIALIZER

private static Deserializer OBJECT_DESERIALIZER

_contextRefMap

private static final java.util.WeakHashMap<java.lang.ClassLoader,java.lang.ref.SoftReference<ContextSerializerFactory>> _contextRefMap

_systemClassLoader

private static final java.lang.ClassLoader _systemClassLoader

_staticSerializerMap

private static java.util.HashMap<java.lang.String,Serializer> _staticSerializerMap

_staticDeserializerMap

private static java.util.HashMap<java.lang.String,Deserializer> _staticDeserializerMap

_staticClassNameMap

private static java.util.HashMap _staticClassNameMap

_parent

private ContextSerializerFactory _parent

_loader

private java.lang.ClassLoader _loader

_serializerFiles

private final java.util.HashSet<java.lang.String> _serializerFiles

_deserializerFiles

private final java.util.HashSet<java.lang.String> _deserializerFiles

_serializerClassMap

private final java.util.HashMap<java.lang.String,Serializer> _serializerClassMap

_customSerializerMap

private final java.util.concurrent.ConcurrentHashMap<java.lang.String,Serializer> _customSerializerMap

_serializerInterfaceMap

private final java.util.HashMap<java.lang.Class,Serializer> _serializerInterfaceMap

_deserializerClassMap

private final java.util.HashMap<java.lang.String,Deserializer> _deserializerClassMap

_deserializerClassNameMap

private final java.util.HashMap<java.lang.String,Deserializer> _deserializerClassNameMap

_customDeserializerMap

private final java.util.concurrent.ConcurrentHashMap<java.lang.String,Deserializer> _customDeserializerMap

_deserializerInterfaceMap

private final java.util.HashMap<java.lang.Class,Deserializer> _deserializerInterfaceMap
Constructor Detail

ContextSerializerFactory

public ContextSerializerFactory(ContextSerializerFactory parent,
                                java.lang.ClassLoader loader)
Method Detail

create

public static ContextSerializerFactory create()

create

public static ContextSerializerFactory create(java.lang.ClassLoader loader)

getClassLoader

public java.lang.ClassLoader getClassLoader()

getSerializer

public Serializer getSerializer(java.lang.String className)
Returns the serializer for a given class.


getCustomSerializer

public Serializer getCustomSerializer(java.lang.Class cl)
Returns a custom serializer the class

Parameters:
cl - the class of the object that needs to be serialized.
Returns:
a serializer object for the serialization.

getDeserializer

public Deserializer getDeserializer(java.lang.String className)
Returns the deserializer for a given class.


getCustomDeserializer

public Deserializer getCustomDeserializer(java.lang.Class cl)
Returns a custom deserializer the class

Parameters:
cl - the class of the object that needs to be deserialized.
Returns:
a deserializer object for the deserialization.

init

private void init()
Initialize the factory


initSerializerFiles

private void initSerializerFiles(java.lang.String fileName,
                                 java.util.HashSet<java.lang.String> fileList,
                                 java.util.HashMap<java.lang.Class,java.lang.Class> classMap,
                                 java.lang.Class type)

addBasic

private static void addBasic(java.lang.Class cl,
                             java.lang.String typeName,
                             int type)


Copyright 2003-2011. All Rights Reserved.