Class FieldDictionary

java.lang.Object
com.thoughtworks.xstream.converters.reflection.FieldDictionary
All Implemented Interfaces:
Caching

public class FieldDictionary extends Object implements Caching
A field dictionary instance caches information about classes fields.
  • Field Details

  • Constructor Details

    • FieldDictionary

      public FieldDictionary()
    • FieldDictionary

      public FieldDictionary(FieldKeySorter sorter)
  • Method Details

    • init

      private void init()
    • serializableFieldsFor

      public Iterator serializableFieldsFor(Class cls)
      Deprecated.
      As of 1.3, use fieldsFor(Class) instead
      Returns an iterator for all fields for some class
      Parameters:
      cls - the class you are interested on
      Returns:
      an iterator for its fields
    • fieldsFor

      public Iterator fieldsFor(Class cls)
      Returns an iterator for all fields for some class
      Parameters:
      cls - the class you are interested on
      Returns:
      an iterator for its fields
    • field

      public Field field(Class cls, String name, Class definedIn)
      Returns an specific field of some class. If definedIn is null, it searches for the field named 'name' inside the class cls. If definedIn is different than null, tries to find the specified field name in the specified class cls which should be defined in class definedIn (either equals cls or a one of it's superclasses)
      Parameters:
      cls - the class where the field is to be searched
      name - the field name
      definedIn - the superclass (or the class itself) of cls where the field was defined
      Returns:
      the field itself
      Throws:
      ObjectAccessException - if no field can be found
    • fieldOrNull

      public Field fieldOrNull(Class cls, String name, Class definedIn)
      Returns an specific field of some class. If definedIn is null, it searches for the field named 'name' inside the class cls. If definedIn is different than null, tries to find the specified field name in the specified class cls which should be defined in class definedIn (either equals cls or a one of it's superclasses)
      Parameters:
      cls - the class where the field is to be searched
      name - the field name
      definedIn - the superclass (or the class itself) of cls where the field was defined
      Returns:
      the field itself or null
      Since:
      1.4
    • buildMap

      private Map buildMap(Class type, boolean tupleKeyed)
    • buildDictionaryEntryForClass

      private FieldDictionary.DictionaryEntry buildDictionaryEntryForClass(Class cls, FieldDictionary.DictionaryEntry lastDictionaryEntry)
    • getDictionaryEntry

      private FieldDictionary.DictionaryEntry getDictionaryEntry(Class cls)
    • flushCache

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

      protected Object readResolve()