com.thoughtworks.xstream.mapper
Class MapperWrapper

java.lang.Object
  extended by com.thoughtworks.xstream.mapper.MapperWrapper
All Implemented Interfaces:
Mapper
Direct Known Subclasses:
AbstractXmlFriendlyMapper, ArrayMapper, AttributeAliasingMapper, AttributeMapper, CachingMapper, CGLIBMapper, ClassAliasingMapper, DefaultImplementationsMapper, DynamicProxyMapper, EnumMapper, FieldAliasingMapper, ImmutableTypesMapper, ImplicitCollectionMapper, OuterClassMapper

public abstract class MapperWrapper
extends java.lang.Object
implements Mapper


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.thoughtworks.xstream.mapper.Mapper
Mapper.ImplicitCollectionMapping, Mapper.Null
 
Constructor Summary
MapperWrapper(ClassMapper wrapped)
          Deprecated. As of 1.2, use MapperWrapper(Mapper)
MapperWrapper(Mapper wrapped)
           
 
Method Summary
 java.lang.String aliasForAttribute(java.lang.Class definedIn, java.lang.String fieldName)
          Returns an alias for a single field defined in an specific type.
 java.lang.String aliasForAttribute(java.lang.String attribute)
          Get the alias for an attrbute's name.
 java.lang.String attributeForAlias(java.lang.Class definedIn, java.lang.String alias)
          Returns the field name for an aliased attribute.
 java.lang.String attributeForAlias(java.lang.String alias)
          Get the attribut's name for an alias.
 java.lang.String attributeForClassDefiningField()
           
 java.lang.String attributeForEnumType()
           
 java.lang.String attributeForImplementationClass()
           
 java.lang.String attributeForReadResolveField()
           
 java.lang.Class defaultImplementationOf(java.lang.Class type)
           
 SingleValueConverter getConverterFromAttribute(java.lang.Class type, java.lang.String attribute)
          Returns which converter to use for an specific attribute in a type.
 SingleValueConverter getConverterFromAttribute(java.lang.String name)
           
 SingleValueConverter getConverterFromItemType(java.lang.Class type)
           
 SingleValueConverter getConverterFromItemType(java.lang.String fieldName, java.lang.Class type)
           
 SingleValueConverter getConverterFromItemType(java.lang.String fieldName, java.lang.Class type, java.lang.Class definedIn)
          Returns a single value converter to be used in a specific field.
 java.lang.String getFieldNameForItemTypeAndName(java.lang.Class definedIn, java.lang.Class itemType, java.lang.String itemFieldName)
          Get the name of the field that acts as the default collection for an object, or return null if there is none.
 Mapper.ImplicitCollectionMapping getImplicitCollectionDefForFieldName(java.lang.Class itemType, java.lang.String fieldName)
           
 java.lang.Class getItemTypeForItemFieldName(java.lang.Class definedIn, java.lang.String itemFieldName)
           
 boolean isImmutableValueType(java.lang.Class type)
          Whether this type is a simple immutable value (int, boolean, String, URL, etc.
 Mapper lookupMapperOfType(java.lang.Class type)
           
 java.lang.Class realClass(java.lang.String elementName)
          How a serialized class representation should be mapped back to a real class.
 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.
 java.lang.String serializedMember(java.lang.Class type, java.lang.String memberName)
          How a class member should be represented in its serialized form.
 boolean shouldSerializeMember(java.lang.Class definedIn, java.lang.String fieldName)
          Determine whether a specific member should be serialized.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MapperWrapper

public MapperWrapper(Mapper wrapped)

MapperWrapper

public MapperWrapper(ClassMapper wrapped)
Deprecated. As of 1.2, use MapperWrapper(Mapper)

Method Detail

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 interface Mapper

realClass

public java.lang.Class realClass(java.lang.String elementName)
Description copied from interface: Mapper
How a serialized class representation should be mapped back to a real class.

Specified by:
realClass in interface Mapper

serializedMember

public java.lang.String serializedMember(java.lang.Class type,
                                         java.lang.String memberName)
Description copied from interface: Mapper
How a class member should be represented in its serialized form.

Specified by:
serializedMember in interface Mapper

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 interface Mapper

isImmutableValueType

public boolean isImmutableValueType(java.lang.Class type)
Description copied from interface: Mapper
Whether this type is a simple immutable value (int, boolean, String, URL, etc. Immutable types will be repeatedly written in the serialized stream, instead of using object references.

Specified by:
isImmutableValueType in interface Mapper

defaultImplementationOf

public java.lang.Class defaultImplementationOf(java.lang.Class type)
Specified by:
defaultImplementationOf in interface Mapper

attributeForClassDefiningField

public java.lang.String attributeForClassDefiningField()
Specified by:
attributeForClassDefiningField in interface Mapper

attributeForImplementationClass

public java.lang.String attributeForImplementationClass()
Specified by:
attributeForImplementationClass in interface Mapper

attributeForReadResolveField

public java.lang.String attributeForReadResolveField()
Specified by:
attributeForReadResolveField in interface Mapper

attributeForEnumType

public java.lang.String attributeForEnumType()
Specified by:
attributeForEnumType in interface Mapper

aliasForAttribute

public java.lang.String aliasForAttribute(java.lang.String attribute)
Description copied from interface: Mapper
Get the alias for an attrbute's name.

Specified by:
aliasForAttribute in interface Mapper
Parameters:
attribute - the attribute
Returns:
the alias

attributeForAlias

public java.lang.String attributeForAlias(java.lang.String alias)
Description copied from interface: Mapper
Get the attribut's name for an alias.

Specified by:
attributeForAlias in interface Mapper
Parameters:
alias - the alias
Returns:
the attribute's name

getFieldNameForItemTypeAndName

public java.lang.String getFieldNameForItemTypeAndName(java.lang.Class definedIn,
                                                       java.lang.Class itemType,
                                                       java.lang.String itemFieldName)
Description copied from interface: Mapper
Get the name of the field that acts as the default collection for an object, or return null if there is none.

Specified by:
getFieldNameForItemTypeAndName in interface Mapper
Parameters:
definedIn - owning type
itemType - item type
itemFieldName - optional item element name

getItemTypeForItemFieldName

public java.lang.Class getItemTypeForItemFieldName(java.lang.Class definedIn,
                                                   java.lang.String itemFieldName)
Specified by:
getItemTypeForItemFieldName in interface Mapper

getImplicitCollectionDefForFieldName

public Mapper.ImplicitCollectionMapping getImplicitCollectionDefForFieldName(java.lang.Class itemType,
                                                                             java.lang.String fieldName)
Specified by:
getImplicitCollectionDefForFieldName in interface Mapper

shouldSerializeMember

public boolean shouldSerializeMember(java.lang.Class definedIn,
                                     java.lang.String fieldName)
Description copied from interface: Mapper
Determine whether a specific member should be serialized.

Specified by:
shouldSerializeMember in interface Mapper

getConverterFromItemType

public SingleValueConverter getConverterFromItemType(java.lang.String fieldName,
                                                     java.lang.Class type)
Specified by:
getConverterFromItemType in interface Mapper

getConverterFromItemType

public SingleValueConverter getConverterFromItemType(java.lang.Class type)
Specified by:
getConverterFromItemType in interface Mapper

getConverterFromAttribute

public SingleValueConverter getConverterFromAttribute(java.lang.String name)
Specified by:
getConverterFromAttribute in interface Mapper

lookupMapperOfType

public Mapper lookupMapperOfType(java.lang.Class type)
Specified by:
lookupMapperOfType in interface Mapper

getConverterFromItemType

public SingleValueConverter getConverterFromItemType(java.lang.String fieldName,
                                                     java.lang.Class type,
                                                     java.lang.Class definedIn)
Description copied from interface: Mapper
Returns a single value converter to be used in a specific field.

Specified by:
getConverterFromItemType in interface Mapper
Parameters:
fieldName - the field name
type - the field type
definedIn - the type which defines this field
Returns:
a SingleValueConverter or null if there no such converter should be used for this field. since 1.2.2

aliasForAttribute

public java.lang.String aliasForAttribute(java.lang.Class definedIn,
                                          java.lang.String fieldName)
Description copied from interface: Mapper
Returns an alias for a single field defined in an specific type.

Specified by:
aliasForAttribute in interface Mapper
Parameters:
definedIn - the type where the field was defined
fieldName - the field name
Returns:
the alias for this field or its own name if no alias was defined since 1.2.2

attributeForAlias

public java.lang.String attributeForAlias(java.lang.Class definedIn,
                                          java.lang.String alias)
Description copied from interface: Mapper
Returns the field name for an aliased attribute.

Specified by:
attributeForAlias in interface Mapper
Parameters:
definedIn - the type where the field was defined
alias - the alias
Returns:
the original attribute name since 1.2.2

getConverterFromAttribute

public SingleValueConverter getConverterFromAttribute(java.lang.Class type,
                                                      java.lang.String attribute)
Description copied from interface: Mapper
Returns which converter to use for an specific attribute in a type.

Specified by:
getConverterFromAttribute in interface Mapper
Parameters:
type - the field type
attribute - the attribute name since 1.2.2


Joe Walnes, http://xstream.codehaus.org/