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

    • 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 interface ConverterMatcher
        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.
        Specified by:
        marshal in interface Converter
        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.
      • 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 write
        context - the current marshalling context
        writer - 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 write
        context - the current marshalling context
        writer - 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 context
        writer - the target writer
        Since:
        1.4.11
      • 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 reader
        context - the unmarshalling context
        current - 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 reader
        context - the unmarshalling context
        current - the target collection (if already available)
        Returns:
        the read item
        Since:
        1.4.11
      • createCollection

        protected java.lang.Object createCollection​(java.lang.Class type)