Class MapConverter
- java.lang.Object
-
- com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter
-
- com.thoughtworks.xstream.converters.collections.MapConverter
-
- All Implemented Interfaces:
Converter,ConverterMatcher
- Direct Known Subclasses:
EnumMapConverter,NamedMapConverter,SingletonMapConverter,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, java.util.LinkedHashMap and java.util.concurrent.ConcurrentHashMap.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Classtype
-
Constructor Summary
Constructors Constructor Description MapConverter(Mapper mapper)MapConverter(Mapper mapper, java.lang.Class type)Construct a MapConverter for a special Map type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanConvert(java.lang.Class type)Determines whether the converter can marshall a particular type.protected java.lang.ObjectcreateCollection(java.lang.Class type)voidmarshal(java.lang.Object source, HierarchicalStreamWriter writer, MarshallingContext context)Convert an object to textual data.protected voidpopulateMap(HierarchicalStreamReader reader, UnmarshallingContext context, java.util.Map map)protected voidpopulateMap(HierarchicalStreamReader reader, UnmarshallingContext context, java.util.Map map, java.util.Map target)protected voidputCurrentEntryIntoMap(HierarchicalStreamReader reader, UnmarshallingContext context, java.util.Map map, java.util.Map target)java.lang.Objectunmarshal(HierarchicalStreamReader reader, UnmarshallingContext context)Convert textual data back into an object.-
Methods inherited from class com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter
mapper, readBareItem, readCompleteItem, readItem, writeBareItem, writeCompleteItem, writeItem, writeNullItem
-
-
-
-
Method Detail
-
canConvert
public boolean canConvert(java.lang.Class type)
Description copied from interface:ConverterMatcherDetermines whether the converter can marshall a particular type.- Specified by:
canConvertin interfaceConverterMatcher- Specified by:
canConvertin classAbstractCollectionConverter- 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:ConverterConvert an object to textual data.- Specified by:
marshalin interfaceConverter- Specified by:
marshalin classAbstractCollectionConverter- 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:ConverterConvert textual data back into an object.- Specified by:
unmarshalin interfaceConverter- Specified by:
unmarshalin classAbstractCollectionConverter- 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)
-
populateMap
protected void populateMap(HierarchicalStreamReader reader, UnmarshallingContext context, java.util.Map map, java.util.Map target)
-
putCurrentEntryIntoMap
protected void putCurrentEntryIntoMap(HierarchicalStreamReader reader, UnmarshallingContext context, java.util.Map map, java.util.Map target)
-
createCollection
protected java.lang.Object createCollection(java.lang.Class type)
- Overrides:
createCollectionin classAbstractCollectionConverter
-
-