Class SortableFieldKeySorter

java.lang.Object
com.thoughtworks.xstream.converters.reflection.SortableFieldKeySorter
All Implemented Interfaces:
FieldKeySorter, Caching

public class SortableFieldKeySorter extends Object implements FieldKeySorter, Caching
The default implementation for sorting fields. Invoke registerFieldOrder in order to set the field order for an specific type.
Since:
1.2.2
  • Field Details

    • EMPTY_FIELD_KEY_ARRAY

      private static final FieldKey[] EMPTY_FIELD_KEY_ARRAY
    • map

      private final Map map
  • Constructor Details

    • SortableFieldKeySorter

      public SortableFieldKeySorter()
  • Method Details

    • sort

      public Map sort(Class type, Map keyedByFieldKey)
      Description copied from interface: FieldKeySorter
      Sort the fields of a type. The method will be called with the class type that contains all the fields and a Map that retains the order in which the elements have been added. The sequence in which elements are returned by an iterator defines the processing order of the fields. An implementation may create a different Map with similar semantic, add all elements of the original map and return the new one.
      Specified by:
      sort in interface FieldKeySorter
      Parameters:
      type - the class that contains all the fields
      keyedByFieldKey - a Map containing a FieldKey as key element and a Field as value.
      Returns:
      a Map with all the entries of the original Map
    • registerFieldOrder

      public void registerFieldOrder(Class type, String[] fields)
      Registers the field order to use for a specific type. This will not affect any of the type's super or sub classes. If you skip a field which will be serialized, XStream will thrown a ConversionException during the serialization process.
      Parameters:
      type - the type
      fields - the field order
    • flushCache

      public void flushCache()
      Specified by:
      flushCache in interface Caching