public class CGLIBEnhancedConverter extends SerializableConverter
Enhancer. Such a proxy is recreated while
deserializing the proxy. The converter does only work, if| Modifier and Type | Class and Description |
|---|---|
private static class |
CGLIBEnhancedConverter.CGLIBFilteringReflectionProvider |
private static class |
CGLIBEnhancedConverter.ReverseEngineeredCallbackFilter |
private static class |
CGLIBEnhancedConverter.ReverseEngineeringInvocationHandler |
AbstractReflectionConverter.DuplicateFieldException, AbstractReflectionConverter.UnknownFieldException| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
CALLBACK_MARKER |
private static java.lang.String |
DEFAULT_NAMING_MARKER |
private java.util.Map |
fieldCache |
mapper, reflectionProvider, serializationMembers, serializationMethodInvoker| Constructor and Description |
|---|
CGLIBEnhancedConverter(Mapper mapper,
ReflectionProvider reflectionProvider)
Deprecated.
|
CGLIBEnhancedConverter(Mapper mapper,
ReflectionProvider reflectionProvider,
java.lang.ClassLoader classLoader)
Deprecated.
|
CGLIBEnhancedConverter(Mapper mapper,
ReflectionProvider reflectionProvider,
ClassLoaderReference classLoaderReference)
Construct a CGLIBEnhancedConverter.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
canConvert(java.lang.Class type)
Determines whether the converter can marshall a particular type.
|
private java.lang.Object |
create(net.sf.cglib.proxy.Enhancer enhancer,
java.util.List callbacks,
boolean useFactory) |
private java.util.Map |
createCallbackIndexMap(net.sf.cglib.proxy.Factory source) |
private java.lang.Object[] |
createNullArguments(java.lang.Class[] parameterTypes) |
private net.sf.cglib.proxy.Callback |
createReverseEngineeredCallbackOfProperType(net.sf.cglib.proxy.Callback callback,
int index,
java.util.Map callbackIndexMap) |
private net.sf.cglib.proxy.Callback[] |
getCallbacks(java.lang.Object source) |
protected java.util.List |
hierarchyFor(java.lang.Class type) |
void |
marshal(java.lang.Object source,
HierarchicalStreamWriter writer,
MarshallingContext context)
Convert an object to textual data.
|
private void |
readCallback(HierarchicalStreamReader reader,
UnmarshallingContext context,
java.util.List callbacksToEnhance,
java.util.List callbacks) |
protected java.lang.Object |
readResolve() |
java.lang.Object |
unmarshal(HierarchicalStreamReader reader,
UnmarshallingContext context)
Convert textual data back into an object.
|
doMarshal, doMarshalConditionally, doUnmarshal, doUnmarshalConditionally, marshalUnserializableParentcanAccess, flushCache, instantiateNewInstance, marshallField, shouldUnmarshalField, shouldUnmarshalTransientFields, unmarshallFieldprivate static java.lang.String DEFAULT_NAMING_MARKER
private static java.lang.String CALLBACK_MARKER
private transient java.util.Map fieldCache
public CGLIBEnhancedConverter(Mapper mapper, ReflectionProvider reflectionProvider, ClassLoaderReference classLoaderReference)
mapper - the mapper chain instancereflectionProvider - the reflection providerclassLoaderReference - the reference to the ClassLoader of the XStream instancepublic CGLIBEnhancedConverter(Mapper mapper, ReflectionProvider reflectionProvider, java.lang.ClassLoader classLoader)
CGLIBEnhancedConverter(Mapper, ReflectionProvider, ClassLoaderReference)public CGLIBEnhancedConverter(Mapper mapper, ReflectionProvider reflectionProvider)
CGLIBEnhancedConverter(Mapper, ReflectionProvider, ClassLoaderReference)public boolean canConvert(java.lang.Class type)
ConverterMatchercanConvert in interface ConverterMatchercanConvert in class SerializableConvertertype - the Class representing the object type to be convertedpublic void marshal(java.lang.Object source,
HierarchicalStreamWriter writer,
MarshallingContext context)
Convertermarshal in interface Convertermarshal in class AbstractReflectionConvertersource - The object to be marshalled.writer - A stream to write to.context - A context that allows nested objects to be processed by XStream.private net.sf.cglib.proxy.Callback[] getCallbacks(java.lang.Object source)
private java.util.Map createCallbackIndexMap(net.sf.cglib.proxy.Factory source)
private java.lang.Object[] createNullArguments(java.lang.Class[] parameterTypes)
private net.sf.cglib.proxy.Callback createReverseEngineeredCallbackOfProperType(net.sf.cglib.proxy.Callback callback,
int index,
java.util.Map callbackIndexMap)
public java.lang.Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context)
Converterunmarshal in interface Converterunmarshal in class AbstractReflectionConverterreader - The stream to read the text from.private void readCallback(HierarchicalStreamReader reader, UnmarshallingContext context, java.util.List callbacksToEnhance, java.util.List callbacks)
private java.lang.Object create(net.sf.cglib.proxy.Enhancer enhancer,
java.util.List callbacks,
boolean useFactory)
protected java.util.List hierarchyFor(java.lang.Class type)
hierarchyFor in class SerializableConverterprotected java.lang.Object readResolve()
readResolve in class AbstractReflectionConverter