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.Class
type
-
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 boolean
canConvert(java.lang.Class type)
Determines whether the converter can marshall a particular type.protected java.lang.Object
createCollection(java.lang.Class 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)
protected void
populateMap(HierarchicalStreamReader reader, UnmarshallingContext context, java.util.Map map, java.util.Map target)
protected void
putCurrentEntryIntoMap(HierarchicalStreamReader reader, UnmarshallingContext context, java.util.Map map, java.util.Map target)
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
mapper, readBareItem, readCompleteItem, readItem, writeBareItem, writeCompleteItem, writeItem, writeNullItem
-
-
-
-
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 interfaceConverterMatcher
- Specified by:
canConvert
in 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:Converter
Convert an object to textual data.- Specified by:
marshal
in interfaceConverter
- Specified by:
marshal
in 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:Converter
Convert textual data back into an object.- Specified by:
unmarshal
in interfaceConverter
- Specified by:
unmarshal
in 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:
createCollection
in classAbstractCollectionConverter
-
-