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 classAnnotationMapper.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<?>>annotatedTypesprivate java.lang.Object[]argumentsprivate AttributeMapperattributeMapperprivate ClassAliasingMapperclassAliasingMapperprivate java.util.Map<java.lang.Class<?>,java.util.Map<java.util.List<java.lang.Object>,Converter>>converterCacheprivate ConverterRegistryconverterRegistryprivate DefaultImplementationsMapperdefaultImplementationsMapperprivate ElementIgnoringMapperelementIgnoringMapperprivate FieldAliasingMapperfieldAliasingMapperprivate ImplicitCollectionMapperimplicitCollectionMapperprivate LocalConversionMapperlocalConversionMapperprivate booleanlocked
-
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 voidaddParametrizedTypes(java.lang.reflect.Type type, java.util.Set<java.lang.Class<?>> types)voidautodetectAnnotations(boolean mode)private ConvertercacheConverter(XStreamConverter annotation, java.lang.Class targetType)java.lang.ClassdefaultImplementationOf(java.lang.Class type)private java.lang.Class<?>getClass(java.lang.reflect.Type typeArgument)ConvertergetLocalConverter(java.lang.Class definedIn, java.lang.String fieldName)private voidprocessAliasAnnotation(java.lang.Class<?> type, java.util.Set<java.lang.Class<?>> types)private voidprocessAliasTypeAnnotation(java.lang.Class<?> type)private voidprocessAnnotations(java.lang.Class initialType)voidprocessAnnotations(java.lang.Class[] initialTypes)private voidprocessAsAttributeAnnotation(java.lang.reflect.Field field)private voidprocessConverterAnnotations(java.lang.Class<?> type)private voidprocessFieldAliasAnnotation(java.lang.reflect.Field field)private voidprocessImplicitAnnotation(java.lang.reflect.Field field)private voidprocessImplicitCollectionAnnotation(java.lang.Class<?> type)Deprecated.private voidprocessLocalConverterAnnotation(java.lang.reflect.Field field)private voidprocessOmitFieldAnnotation(java.lang.reflect.Field field)private voidprocessTypes(java.util.Set<java.lang.Class<?>> types)private voidreadObject(java.io.ObjectInputStream in)java.lang.StringrealMember(java.lang.Class type, java.lang.String serialized)How a serialized member representation should be mapped back to a real member.java.lang.StringserializedClass(java.lang.Class type)How a class name should be represented in its serialized form.private voidsetupMappers()private voidwriteObject(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 nextMapperin 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 nextMapperin 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:MapperHow a serialized member representation should be mapped back to a real member.- Specified by:
realMemberin interfaceMapper- Overrides:
realMemberin classMapperWrapper
-
serializedClass
public java.lang.String serializedClass(java.lang.Class type)
Description copied from interface:MapperHow a class name should be represented in its serialized form.- Specified by:
serializedClassin interfaceMapper- Overrides:
serializedClassin classMapperWrapper
-
defaultImplementationOf
public java.lang.Class defaultImplementationOf(java.lang.Class type)
- Specified by:
defaultImplementationOfin interfaceMapper- Overrides:
defaultImplementationOfin classMapperWrapper
-
getLocalConverter
public Converter getLocalConverter(java.lang.Class definedIn, java.lang.String fieldName)
- Specified by:
getLocalConverterin interfaceMapper- Overrides:
getLocalConverterin classMapperWrapper
-
autodetectAnnotations
public void autodetectAnnotations(boolean mode)
- Specified by:
autodetectAnnotationsin interfaceAnnotationConfiguration
-
processAnnotations
public void processAnnotations(java.lang.Class[] initialTypes)
- Specified by:
processAnnotationsin 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.IOExceptionjava.lang.ClassNotFoundException
-
-