Top Description Inners Fields Constructors Methods
com.thoughtworks.xstream.mapper

public Class AnnotationMapper

extends MapperWrapper
implements AnnotationConfiguration
Class Inheritance
All Implemented Interfaces
com.thoughtworks.xstream.mapper.AnnotationConfiguration
Imports
java.io.IOException, .ObjectInputStream, .ObjectOutputStream, java.lang.reflect.Array, .Field, .GenericArrayType, .Modifier, .ParameterizedType, .Type, .TypeVariable, java.util.ArrayList, .Arrays, .Collections, .HashMap, .HashSet, .Iterator, .LinkedHashSet, .List, .Map, .Set, com.thoughtworks.xstream.InitializationException, com.thoughtworks.xstream.annotations.XStreamAlias, .XStreamAliasType, .XStreamAsAttribute, .XStreamConverter, .XStreamConverters, .XStreamImplicit, .XStreamImplicitCollection, .XStreamInclude, .XStreamOmitField, com.thoughtworks.xstream.converters.Converter, .ConverterLookup, .ConverterMatcher, .ConverterRegistry, .SingleValueConverter, .SingleValueConverterWrapper, com.thoughtworks.xstream.converters.reflection.ReflectionProvider, com.thoughtworks.xstream.core.ClassLoaderReference, .JVM, com.thoughtworks.xstream.core.util.DependencyInjectionFactory, .TypedNull

Deprecated

as a consequence of AnnotationConfiguration being deprecated. See corresponding docs for further information.

A mapper that uses annotations to prepare the remaining mappers in the chain.
Author
Jörg Schaible
Since
1.3

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class

Field Summary

Modifier and TypeField and Description
private final Set<Class<?>>
private transient Object[]
private transient AttributeMapper
private transient ClassAliasingMapper
private final Map<Class<?>, Map<List<Object>, Converter>>
private final ConverterRegistry
private transient DefaultImplementationsMapper
private transient ElementIgnoringMapper
private transient FieldAliasingMapper
private transient ImplicitCollectionMapper
private transient LocalConversionMapper
private boolean

Constructor Summary

AccessConstructor and Description
public
AnnotationMapper(final Mapper
the next Mapper in the chain
wrapped
,
final ConverterRegistry converterRegistry, final ConverterLookup converterLookup, final ClassLoaderReference classLoaderReference, final ReflectionProvider reflectionProvider)

Construct an AnnotationMapper.

public
AnnotationMapper(final Mapper
the next Mapper in the chain
wrapped
,
final ConverterRegistry converterRegistry, final ConverterLookup converterLookup, final ClassLoader classLoader, final ReflectionProvider reflectionProvider, final JVM jvm)

Construct an AnnotationMapper.

Method Summary

Modifier and TypeMethod and Description
private void
addParametrizedTypes(Type type, final Set<Class<?>> types)

public void
private Converter
cacheConverter(final XStreamConverter annotation, final Class<T> targetType)

public Class<T>
private Class<?>
getClass(final Type typeArgument)

public Converter
private void
processAliasAnnotation(final Class<?> type, final Set<Class<?>> types)

private void
public void
private void
processAnnotations(final Class<T> initialType)

private void
private void
private void
private void
private void
processImplicitCollectionAnnotation(final Class<?> type)

Deprecated
private void
private void
private void
processTypes(final Set<Class<?>> types)

private void
public String
realMember(final Class<T> type, final String serialized)

Overrides com.thoughtworks.xstream.mapper.MapperWrapper.realMember.

Implements com.thoughtworks.xstream.mapper.Mapper.realMember.

How a serialized member representation should be mapped back to a real member.
public String
serializedClass(final Class<T> type)

Overrides com.thoughtworks.xstream.mapper.MapperWrapper.serializedClass.

Implements com.thoughtworks.xstream.mapper.Mapper.serializedClass.

How a class name should be represented in its serialized form.
private void
private void
Inherited from com.thoughtworks.xstream.mapper.MapperWrapper:
aliasForAttributealiasForAttributealiasForSystemAttributeattributeForAliasattributeForAliasgetConverterFromAttributegetConverterFromAttributegetConverterFromAttributegetConverterFromItemTypegetConverterFromItemTypegetConverterFromItemTypegetFieldNameForItemTypeAndNamegetImplicitCollectionDefForFieldNamegetItemTypeForItemFieldNameisIgnoredElementisImmutableValueTypeisReferenceablelookupMapperOfTyperealClassserializedMembershouldSerializeMember

Field Detail

annotatedTypesback to summary
private final Set<Class<?>> annotatedTypes
argumentsback to summary
private transient Object[] arguments
attributeMapperback to summary
private transient AttributeMapper attributeMapper
classAliasingMapperback to summary
private transient ClassAliasingMapper classAliasingMapper
converterCacheback to summary
private final Map<Class<?>, Map<List<Object>, Converter>> converterCache
converterRegistryback to summary
private final ConverterRegistry converterRegistry
defaultImplementationsMapperback to summary
private transient DefaultImplementationsMapper defaultImplementationsMapper
elementIgnoringMapperback to summary
private transient ElementIgnoringMapper elementIgnoringMapper
fieldAliasingMapperback to summary
private transient FieldAliasingMapper fieldAliasingMapper
implicitCollectionMapperback to summary
private transient ImplicitCollectionMapper implicitCollectionMapper
localConversionMapperback to summary
private transient LocalConversionMapper localConversionMapper
lockedback to summary
private boolean locked

Constructor Detail

AnnotationMapperback to summary
public AnnotationMapper(final Mapper wrapped, final ConverterRegistry converterRegistry, final ConverterLookup converterLookup, final ClassLoaderReference classLoaderReference, final ReflectionProvider reflectionProvider)

Construct an AnnotationMapper.

Parameters
wrapped:Mapper

the next Mapper in the chain

Since
1.4.5
AnnotationMapperback to summary
public AnnotationMapper(final Mapper wrapped, final ConverterRegistry converterRegistry, final ConverterLookup converterLookup, final ClassLoader classLoader, final ReflectionProvider reflectionProvider, final JVM jvm)

Construct an AnnotationMapper.

Parameters
wrapped:Mapper

the next Mapper in the chain

Since
1.3

Method Detail

addParametrizedTypesback to summary
private void addParametrizedTypes(Type type, final Set<Class<?>> types)
autodetectAnnotationsback to summary
public void autodetectAnnotations(final boolean mode)

Implements com.thoughtworks.xstream.mapper.AnnotationConfiguration.autodetectAnnotations.

cacheConverterback to summary
private Converter cacheConverter(final XStreamConverter annotation, final Class<T> targetType)
defaultImplementationOfback to summary
public Class<T> defaultImplementationOf(final Class<T> type)

Overrides com.thoughtworks.xstream.mapper.MapperWrapper.defaultImplementationOf.

Implements com.thoughtworks.xstream.mapper.Mapper.defaultImplementationOf.

Annotations
@Override
getClassback to summary
private Class<?> getClass(final Type typeArgument)
getLocalConverterback to summary
public Converter getLocalConverter(final Class<T> definedIn, final String fieldName)

Overrides com.thoughtworks.xstream.mapper.MapperWrapper.getLocalConverter.

Implements com.thoughtworks.xstream.mapper.Mapper.getLocalConverter.

Annotations
@Override
processAliasAnnotationback to summary
private void processAliasAnnotation(final Class<?> type, final Set<Class<?>> types)
processAliasTypeAnnotationback to summary
private void processAliasTypeAnnotation(final Class<?> type)
processAnnotationsback to summary
public void processAnnotations(final Class<T>[] initialTypes)

Implements com.thoughtworks.xstream.mapper.AnnotationConfiguration.processAnnotations.

processAnnotationsback to summary
private void processAnnotations(final Class<T> initialType)
processAsAttributeAnnotationback to summary
private void processAsAttributeAnnotation(final Field field)
processConverterAnnotationsback to summary
private void processConverterAnnotations(final Class<?> type)
processFieldAliasAnnotationback to summary
private void processFieldAliasAnnotation(final Field field)
processImplicitAnnotationback to summary
private void processImplicitAnnotation(final Field field)
processImplicitCollectionAnnotationback to summary
private void processImplicitCollectionAnnotation(final Class<?> type)

Deprecated

Annotations
@Deprecated
processLocalConverterAnnotationback to summary
private void processLocalConverterAnnotation(final Field field)
processOmitFieldAnnotationback to summary
private void processOmitFieldAnnotation(final Field field)
processTypesback to summary
private void processTypes(final Set<Class<?>> types)
readObjectback to summary
private void readObject(final ObjectInputStream in) throws IOException, ClassNotFoundException
realMemberback to summary
public String realMember(final Class<T> type, final String serialized)

Overrides com.thoughtworks.xstream.mapper.MapperWrapper.realMember.

Implements com.thoughtworks.xstream.mapper.Mapper.realMember.

Doc from com.thoughtworks.xstream.mapper.Mapper.realMember.

How a serialized member representation should be mapped back to a real member.

Annotations
@Override
serializedClassback to summary
public String serializedClass(final Class<T> type)

Overrides com.thoughtworks.xstream.mapper.MapperWrapper.serializedClass.

Implements com.thoughtworks.xstream.mapper.Mapper.serializedClass.

Doc from com.thoughtworks.xstream.mapper.Mapper.serializedClass.

How a class name should be represented in its serialized form.

Annotations
@Override
setupMappersback to summary
private void setupMappers()
writeObjectback to summary
private void writeObject(final ObjectOutputStream out) throws IOException
com.thoughtworks.xstream.mapper back to summary

private final Class AnnotationMapper.UnprocessedTypesSet

extends LinkedHashSet<Class<?>>
Class Inheritance

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public boolean
add(Class<?>
element to be added to this set
type
)

Overrides java.util.HashSet.add.

Implements java.util.Collection.add, java.util.Set.add.

Adds the specified element to this set if it is not already present (optional operation).
Inherited from java.util.LinkedHashSet:
addFirstaddLastgetFirstgetLastnewLinkedHashSetremoveFirstremoveLastreversedspliterator

Constructor Detail

UnprocessedTypesSetback to summary
private UnprocessedTypesSet()

Method Detail

addback to summary
public boolean add(Class<?> type)

Overrides java.util.HashSet.add.

Implements java.util.Collection.add, java.util.Set.add.

Doc from java.util.Set.add.

Adds the specified element to this set if it is not already present (optional operation). More formally, adds the specified element e to this set if the set contains no element e2 such that Objects.equals(e, e2). If this set already contains the element, the call leaves the set unchanged and returns false. In combination with the restriction on constructors, this ensures that sets never contain duplicate elements.

The stipulation above does not imply that sets must accept all elements; sets may refuse to add any particular element, including null, and throw an exception, as described in the specification for Collection.add. Individual set implementations should clearly document any restrictions on the elements that they may contain.

Parameters
type:Class<?>

element to be added to this set

Returns:boolean

true if this set did not already contain the specified element

Annotations
@Override