com.thoughtworks.xstream.converters.collections
Class MapConverter

java.lang.Object
  extended by com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter
      extended by com.thoughtworks.xstream.converters.collections.MapConverter
All Implemented Interfaces:
Converter, ConverterMatcher
Direct Known Subclasses:
EnumMapConverter, TreeMapConverter

public class MapConverter
extends AbstractCollectionConverter

Converts a java.util.Map to XML, specifying an 'entry' element with 'key' and 'value' children.

Note: 'key' and 'value' is not the name of the generated tag. The children are serialized as normal elements and the implementation expects them in the order 'key'/'value'.

Supports java.util.HashMap, java.util.Hashtable and java.util.LinkedHashMap.

Author:
Joe Walnes

Constructor Summary
MapConverter(Mapper mapper)
           
 
Method Summary
 boolean canConvert(java.lang.Class type)
          Determines whether the converter can marshall a particular type.
 void marshal(java.lang.Object source, HierarchicalStreamWriter writer, MarshallingContext context)
          Convert an object to textual data.
protected  void populateMap(HierarchicalStreamReader reader, UnmarshallingContext context, java.util.Map map)
           
 java.lang.Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context)
          Convert textual data back into an object.
 
Methods inherited from class com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter
createCollection, mapper, readItem, writeItem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MapConverter

public MapConverter(Mapper mapper)
Method Detail

canConvert

public boolean canConvert(java.lang.Class type)
Description copied from interface: ConverterMatcher
Determines whether the converter can marshall a particular type.

Specified by:
canConvert in interface ConverterMatcher
Specified by:
canConvert in class AbstractCollectionConverter
Parameters:
type - the Class representing the object type to be converted

marshal

public void marshal(java.lang.Object source,
                    HierarchicalStreamWriter writer,
                    MarshallingContext context)
Description copied from interface: Converter
Convert an object to textual data.

Specified by:
marshal in interface Converter
Specified by:
marshal in class AbstractCollectionConverter
Parameters:
source - The object to be marshalled.
writer - A stream to write to.
context - A context that allows nested objects to be processed by XStream.

unmarshal

public java.lang.Object unmarshal(HierarchicalStreamReader reader,
                                  UnmarshallingContext context)
Description copied from interface: Converter
Convert textual data back into an object.

Specified by:
unmarshal in interface Converter
Specified by:
unmarshal in class AbstractCollectionConverter
Parameters:
reader - The stream to read the text from.
Returns:
The resulting object.

populateMap

protected void populateMap(HierarchicalStreamReader reader,
                           UnmarshallingContext context,
                           java.util.Map map)


Copyright © 2004-2012 XStream. All Rights Reserved.