com.thoughtworks.xstream.mapper
Interface Mapper

All Known Subinterfaces:
ClassMapper
All Known Implementing Classes:
DefaultMapper, MapperWrapper

public interface Mapper


Nested Class Summary
static interface Mapper.ImplicitCollectionMapping
           
static class Mapper.Null
          Place holder type used for null values.
 
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()
          Deprecated. since 1.2, use aliasForAttribute instead.
 java.lang.String attributeForEnumType()
          Deprecated. since 1.2, use aliasForAttribute instead.
 java.lang.String attributeForImplementationClass()
          Deprecated. since 1.2, use aliasForAttribute instead.
 java.lang.String attributeForReadResolveField()
          Deprecated. since 1.2, use aliasForAttribute instead.
 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.
 

Method Detail

serializedClass

public java.lang.String serializedClass(java.lang.Class type)
How a class name should be represented in its serialized form.


realClass

public java.lang.Class realClass(java.lang.String elementName)
How a serialized class representation should be mapped back to a real class.


serializedMember

public java.lang.String serializedMember(java.lang.Class type,
                                         java.lang.String memberName)
How a class member should be represented in its serialized form.


realMember

public 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.


isImmutableValueType

public boolean isImmutableValueType(java.lang.Class type)
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.


defaultImplementationOf

public java.lang.Class defaultImplementationOf(java.lang.Class type)

attributeForImplementationClass

public java.lang.String attributeForImplementationClass()
Deprecated. since 1.2, use aliasForAttribute instead.


attributeForClassDefiningField

public java.lang.String attributeForClassDefiningField()
Deprecated. since 1.2, use aliasForAttribute instead.


attributeForReadResolveField

public java.lang.String attributeForReadResolveField()
Deprecated. since 1.2, use aliasForAttribute instead.


attributeForEnumType

public java.lang.String attributeForEnumType()
Deprecated. since 1.2, use aliasForAttribute instead.


aliasForAttribute

public java.lang.String aliasForAttribute(java.lang.String attribute)
Get the alias for an attrbute's name.

Parameters:
attribute - the attribute
Returns:
the alias
Since:
1.2

attributeForAlias

public java.lang.String attributeForAlias(java.lang.String alias)
Get the attribut's name for an alias.

Parameters:
alias - the alias
Returns:
the attribute's name
Since:
1.2

getFieldNameForItemTypeAndName

public 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.

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)

getImplicitCollectionDefForFieldName

public Mapper.ImplicitCollectionMapping getImplicitCollectionDefForFieldName(java.lang.Class itemType,
                                                                             java.lang.String fieldName)

shouldSerializeMember

public boolean shouldSerializeMember(java.lang.Class definedIn,
                                     java.lang.String fieldName)
Determine whether a specific member should be serialized.

Since:
1.1.3

getConverterFromItemType

public SingleValueConverter getConverterFromItemType(java.lang.String fieldName,
                                                     java.lang.Class type)

getConverterFromItemType

public SingleValueConverter getConverterFromItemType(java.lang.Class type)

getConverterFromAttribute

public SingleValueConverter getConverterFromAttribute(java.lang.String name)

lookupMapperOfType

public Mapper lookupMapperOfType(java.lang.Class type)

getConverterFromItemType

public 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.

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)
Returns an alias for a single field defined in an specific type.

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)
Returns the field name for an aliased attribute.

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)
Returns which converter to use for an specific attribute in a type.

Parameters:
type - the field type
attribute - the attribute name since 1.2.2


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