Class AbstractCollectionConverter
- java.lang.Object
-
- com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter
-
- All Implemented Interfaces:
Converter
,ConverterMatcher
- Direct Known Subclasses:
ArrayConverter
,CollectionConverter
,MapConverter
,SubjectConverter
public abstract class AbstractCollectionConverter extends java.lang.Object implements Converter
Base helper class for converters that need to handle collections of items (arrays, Lists, Maps, etc).Typically, subclasses of this will converter the outer structure of the collection, loop through the contents and call readItem() or writeItem() for each item.
-
-
Constructor Summary
Constructors Constructor Description AbstractCollectionConverter(Mapper mapper)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description abstract boolean
canConvert(java.lang.Class type)
Determines whether the converter can marshall a particular type.protected java.lang.Object
createCollection(java.lang.Class type)
protected Mapper
mapper()
abstract void
marshal(java.lang.Object source, HierarchicalStreamWriter writer, MarshallingContext context)
Convert an object to textual data.protected java.lang.Object
readBareItem(HierarchicalStreamReader reader, UnmarshallingContext context, java.lang.Object current)
Read a bare item of the collection from the reader.protected java.lang.Object
readCompleteItem(HierarchicalStreamReader reader, UnmarshallingContext context, java.lang.Object current)
Read an item of the collection including the tags from the reader.protected java.lang.Object
readItem(HierarchicalStreamReader reader, UnmarshallingContext context, java.lang.Object current)
Deprecated.abstract java.lang.Object
unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context)
Convert textual data back into an object.protected void
writeBareItem(java.lang.Object item, MarshallingContext context, HierarchicalStreamWriter writer)
Write the bare item of the collection into the writer.protected void
writeCompleteItem(java.lang.Object item, MarshallingContext context, HierarchicalStreamWriter writer)
Write an item of the collection into the writer including surrounding tags.protected void
writeItem(java.lang.Object item, MarshallingContext context, HierarchicalStreamWriter writer)
Deprecated.As of 1.4.11 usewriteCompleteItem(Object, MarshallingContext, HierarchicalStreamWriter)
instead.protected void
writeNullItem(MarshallingContext context, HierarchicalStreamWriter writer)
Write a null item of the collection into the writer.
-
-
-
Field Detail
-
mapper
private final Mapper mapper
-
-
Constructor Detail
-
AbstractCollectionConverter
public AbstractCollectionConverter(Mapper mapper)
-
-
Method Detail
-
canConvert
public abstract 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
- Parameters:
type
- the Class representing the object type to be converted
-
mapper
protected Mapper mapper()
-
marshal
public abstract void marshal(java.lang.Object source, HierarchicalStreamWriter writer, MarshallingContext context)
Description copied from interface:Converter
Convert an object to textual data.
-
unmarshal
public abstract java.lang.Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context)
Description copied from interface:Converter
Convert textual data back into an object.
-
writeItem
protected void writeItem(java.lang.Object item, MarshallingContext context, HierarchicalStreamWriter writer)
Deprecated.As of 1.4.11 usewriteCompleteItem(Object, MarshallingContext, HierarchicalStreamWriter)
instead.
-
writeCompleteItem
protected void writeCompleteItem(java.lang.Object item, MarshallingContext context, HierarchicalStreamWriter writer)
Write an item of the collection into the writer including surrounding tags.- Parameters:
item
- the item to writecontext
- the current marshalling contextwriter
- the target writer- Since:
- 1.4.11
-
writeBareItem
protected void writeBareItem(java.lang.Object item, MarshallingContext context, HierarchicalStreamWriter writer)
Write the bare item of the collection into the writer.- Parameters:
item
- the item to writecontext
- the current marshalling contextwriter
- the target writer- Since:
- 1.4.11
-
writeNullItem
protected void writeNullItem(MarshallingContext context, HierarchicalStreamWriter writer)
Write a null item of the collection into the writer. The method readItem should be able to process the written data i.e. it has to write the tags or may not write anything at all.- Parameters:
context
- the current marshalling contextwriter
- the target writer- Since:
- 1.4.11
-
readItem
protected java.lang.Object readItem(HierarchicalStreamReader reader, UnmarshallingContext context, java.lang.Object current)
Deprecated.
-
readBareItem
protected java.lang.Object readBareItem(HierarchicalStreamReader reader, UnmarshallingContext context, java.lang.Object current)
Read a bare item of the collection from the reader.- Parameters:
reader
- the source readercontext
- the unmarshalling contextcurrent
- the target collection (if already available)- Returns:
- the read item
- Since:
- 1.4.11
-
readCompleteItem
protected java.lang.Object readCompleteItem(HierarchicalStreamReader reader, UnmarshallingContext context, java.lang.Object current)
Read an item of the collection including the tags from the reader.- Parameters:
reader
- the source readercontext
- the unmarshalling contextcurrent
- the target collection (if already available)- Returns:
- the read item
- Since:
- 1.4.11
-
createCollection
protected java.lang.Object createCollection(java.lang.Class type)
-
-