Class GenericData

  • All Implemented Interfaces:
    Cloneable, Map<String,Object>
    Direct Known Subclasses:
    GenericJson, GenericUrl, HttpHeaders, JsonRpcRequest


    public class GenericData
    extends AbstractMap<String,Object>
    implements Cloneable
    Generic data that stores all unknown data key name/value pairs.

    Subclasses can declare fields for known data keys using the Key annotation. Each field can be of any visibility (private, package private, protected, or public) and must not be static. null unknown data key names are not allowed, but null data values are allowed.

    Iteration order of the data keys is based on the sorted (ascending) key names of the declared fields, followed by the iteration order of all of the unknown data key name/value pairs.

    Implementation is not thread-safe. For a thread-safe choice instead use an implementation of ConcurrentMap.

    Since:
    1.0
    • Constructor Detail

      • GenericData

        public GenericData()
        Constructs with case-insensitive keys.
      • GenericData

        public GenericData(EnumSet<GenericData.Flags> flags)
        Parameters:
        flags - flags that impact behavior of generic data
        Since:
        1.10
    • Method Detail

      • set

        public GenericData set(String fieldName,
                               Object value)
        Sets the given field value (may be null) for the given field name. Any existing value for the field will be overwritten. It may be more slightly more efficient than put(String, Object) because it avoids accessing the field's original value.

        Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.

      • putAll

        public final void putAll(Map<? extends String,?> map)
      • clone

        public GenericData clone()
        Makes a "deep" clone of the generic data, in which the clone is completely independent of the original.
      • getUnknownKeys

        public final Map<String,Object> getUnknownKeys()
        Returns the map of unknown data key name to value.
        Since:
        1.5
      • setUnknownKeys

        public final void setUnknownKeys(Map<String,Object> unknownFields)
        Sets the map of unknown data key name to value.
        Since:
        1.5
      • getClassInfo

        public final ClassInfo getClassInfo()
        Returns the class information.
        Since:
        1.10