Package com.thoughtworks.xstream.mapper
Class AnnotationMapper
- java.lang.Object
-
- com.thoughtworks.xstream.mapper.MapperWrapper
-
- com.thoughtworks.xstream.mapper.AnnotationMapper
-
- All Implemented Interfaces:
AnnotationConfiguration
,Mapper
public class AnnotationMapper extends MapperWrapper implements AnnotationConfiguration
A mapper that uses annotations to prepare the remaining mappers in the chain.- Since:
- 1.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
AnnotationMapper.UnprocessedTypesSet
-
Nested classes/interfaces inherited from interface com.thoughtworks.xstream.mapper.Mapper
Mapper.ImplicitCollectionMapping, Mapper.Null
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<java.lang.Class<?>>
annotatedTypes
private java.lang.Object[]
arguments
private AttributeMapper
attributeMapper
private ClassAliasingMapper
classAliasingMapper
private java.util.Map<java.lang.Class<?>,java.util.Map<java.util.List<java.lang.Object>,Converter>>
converterCache
private ConverterRegistry
converterRegistry
private DefaultImplementationsMapper
defaultImplementationsMapper
private ElementIgnoringMapper
elementIgnoringMapper
private FieldAliasingMapper
fieldAliasingMapper
private ImplicitCollectionMapper
implicitCollectionMapper
private LocalConversionMapper
localConversionMapper
private boolean
locked
-
Constructor Summary
Constructors Constructor Description AnnotationMapper(Mapper wrapped, ConverterRegistry converterRegistry, ConverterLookup converterLookup, ClassLoaderReference classLoaderReference, ReflectionProvider reflectionProvider)
Construct an AnnotationMapper.AnnotationMapper(Mapper wrapped, ConverterRegistry converterRegistry, ConverterLookup converterLookup, java.lang.ClassLoader classLoader, ReflectionProvider reflectionProvider, JVM jvm)
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private void
addParametrizedTypes(java.lang.reflect.Type type, java.util.Set<java.lang.Class<?>> types)
void
autodetectAnnotations(boolean mode)
private Converter
cacheConverter(XStreamConverter annotation, java.lang.Class targetType)
java.lang.Class
defaultImplementationOf(java.lang.Class type)
private java.lang.Class<?>
getClass(java.lang.reflect.Type typeArgument)
Converter
getLocalConverter(java.lang.Class definedIn, java.lang.String fieldName)
private void
processAliasAnnotation(java.lang.Class<?> type, java.util.Set<java.lang.Class<?>> types)
private void
processAliasTypeAnnotation(java.lang.Class<?> type)
private void
processAnnotations(java.lang.Class initialType)
void
processAnnotations(java.lang.Class[] initialTypes)
private void
processAsAttributeAnnotation(java.lang.reflect.Field field)
private void
processConverterAnnotations(java.lang.Class<?> type)
private void
processFieldAliasAnnotation(java.lang.reflect.Field field)
private void
processImplicitAnnotation(java.lang.reflect.Field field)
private void
processImplicitCollectionAnnotation(java.lang.Class<?> type)
Deprecated.private void
processLocalConverterAnnotation(java.lang.reflect.Field field)
private void
processOmitFieldAnnotation(java.lang.reflect.Field field)
private void
processTypes(java.util.Set<java.lang.Class<?>> types)
private void
readObject(java.io.ObjectInputStream in)
java.lang.String
realMember(java.lang.Class type, java.lang.String serialized)
How a serialized member representation should be mapped back to a real member.java.lang.String
serializedClass(java.lang.Class type)
How a class name should be represented in its serialized form.private void
setupMappers()
private void
writeObject(java.io.ObjectOutputStream out)
-
Methods inherited from class com.thoughtworks.xstream.mapper.MapperWrapper
aliasForAttribute, aliasForAttribute, aliasForSystemAttribute, attributeForAlias, attributeForAlias, getConverterFromAttribute, getConverterFromAttribute, getConverterFromAttribute, getConverterFromItemType, getConverterFromItemType, getConverterFromItemType, getFieldNameForItemTypeAndName, getImplicitCollectionDefForFieldName, getItemTypeForItemFieldName, isIgnoredElement, isImmutableValueType, isReferenceable, lookupMapperOfType, realClass, serializedMember, shouldSerializeMember
-
-
-
-
Field Detail
-
locked
private boolean locked
-
arguments
private transient java.lang.Object[] arguments
-
converterRegistry
private final ConverterRegistry converterRegistry
-
classAliasingMapper
private transient ClassAliasingMapper classAliasingMapper
-
defaultImplementationsMapper
private transient DefaultImplementationsMapper defaultImplementationsMapper
-
implicitCollectionMapper
private transient ImplicitCollectionMapper implicitCollectionMapper
-
fieldAliasingMapper
private transient FieldAliasingMapper fieldAliasingMapper
-
elementIgnoringMapper
private transient ElementIgnoringMapper elementIgnoringMapper
-
attributeMapper
private transient AttributeMapper attributeMapper
-
localConversionMapper
private transient LocalConversionMapper localConversionMapper
-
converterCache
private final java.util.Map<java.lang.Class<?>,java.util.Map<java.util.List<java.lang.Object>,Converter>> converterCache
-
annotatedTypes
private final java.util.Set<java.lang.Class<?>> annotatedTypes
-
-
Constructor Detail
-
AnnotationMapper
public AnnotationMapper(Mapper wrapped, ConverterRegistry converterRegistry, ConverterLookup converterLookup, ClassLoaderReference classLoaderReference, ReflectionProvider reflectionProvider)
Construct an AnnotationMapper.- Parameters:
wrapped
- the nextMapper
in the chain- Since:
- 1.4.5
-
AnnotationMapper
public AnnotationMapper(Mapper wrapped, ConverterRegistry converterRegistry, ConverterLookup converterLookup, java.lang.ClassLoader classLoader, ReflectionProvider reflectionProvider, JVM jvm)
Deprecated.Construct an AnnotationMapper.- Parameters:
wrapped
- the nextMapper
in the chain- Since:
- 1.3
-
-
Method Detail
-
realMember
public java.lang.String realMember(java.lang.Class type, java.lang.String serialized)
Description copied from interface:Mapper
How a serialized member representation should be mapped back to a real member.- Specified by:
realMember
in interfaceMapper
- Overrides:
realMember
in classMapperWrapper
-
serializedClass
public java.lang.String serializedClass(java.lang.Class type)
Description copied from interface:Mapper
How a class name should be represented in its serialized form.- Specified by:
serializedClass
in interfaceMapper
- Overrides:
serializedClass
in classMapperWrapper
-
defaultImplementationOf
public java.lang.Class defaultImplementationOf(java.lang.Class type)
- Specified by:
defaultImplementationOf
in interfaceMapper
- Overrides:
defaultImplementationOf
in classMapperWrapper
-
getLocalConverter
public Converter getLocalConverter(java.lang.Class definedIn, java.lang.String fieldName)
- Specified by:
getLocalConverter
in interfaceMapper
- Overrides:
getLocalConverter
in classMapperWrapper
-
autodetectAnnotations
public void autodetectAnnotations(boolean mode)
- Specified by:
autodetectAnnotations
in interfaceAnnotationConfiguration
-
processAnnotations
public void processAnnotations(java.lang.Class[] initialTypes)
- Specified by:
processAnnotations
in interfaceAnnotationConfiguration
-
processAnnotations
private void processAnnotations(java.lang.Class initialType)
-
processTypes
private void processTypes(java.util.Set<java.lang.Class<?>> types)
-
addParametrizedTypes
private void addParametrizedTypes(java.lang.reflect.Type type, java.util.Set<java.lang.Class<?>> types)
-
processConverterAnnotations
private void processConverterAnnotations(java.lang.Class<?> type)
-
processAliasAnnotation
private void processAliasAnnotation(java.lang.Class<?> type, java.util.Set<java.lang.Class<?>> types)
-
processAliasTypeAnnotation
private void processAliasTypeAnnotation(java.lang.Class<?> type)
-
processImplicitCollectionAnnotation
@Deprecated private void processImplicitCollectionAnnotation(java.lang.Class<?> type)
Deprecated.
-
processFieldAliasAnnotation
private void processFieldAliasAnnotation(java.lang.reflect.Field field)
-
processAsAttributeAnnotation
private void processAsAttributeAnnotation(java.lang.reflect.Field field)
-
processImplicitAnnotation
private void processImplicitAnnotation(java.lang.reflect.Field field)
-
processOmitFieldAnnotation
private void processOmitFieldAnnotation(java.lang.reflect.Field field)
-
processLocalConverterAnnotation
private void processLocalConverterAnnotation(java.lang.reflect.Field field)
-
cacheConverter
private Converter cacheConverter(XStreamConverter annotation, java.lang.Class targetType)
-
getClass
private java.lang.Class<?> getClass(java.lang.reflect.Type typeArgument)
-
setupMappers
private void setupMappers()
-
writeObject
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException
- Throws:
java.io.IOException
-
readObject
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
-