Class IndexedDynamicDataType

All Implemented Interfaces:
BuiltInDataType, DataType, Dynamic, ExtensionPoint

public abstract class IndexedDynamicDataType extends DynamicDataType
Indexed Dynamic Data Type template. Used to create instances of the data type at a given location in memory based on the data found there. This data struture is used when there is a structure with key field in a header. The key field, which is a number, sets which of a number of structures follows the header. Header field a field b keyfield (value 1 means struct1 follows value 2 means struct2 follows ..... value n means structN follows Struct1 | Struct2 | ..... | StructN
  • Field Details

    • NULL_BODY_DESCRIPTION

      public static final String NULL_BODY_DESCRIPTION
      Structures which do not have a body
      See Also:
    • description

      protected String description
    • keys

      protected long[] keys
    • structs

      protected DataType[] structs
    • indexOffset

      protected long indexOffset
    • indexSize

      protected int indexSize
    • mask

      protected long mask
  • Constructor Details

    • IndexedDynamicDataType

      public IndexedDynamicDataType(String name, String description, DataType header, long[] keys, DataType[] structs, long indexOffset, int indexSize, long mask, DataTypeManager dtm)
      Construct and the Index dynamic data type template.
      Parameters:
      name - name of the data type
      description - description of the data type
      header - the header data type that holds the keys to the location of other data types
      keys - key value array, one to one mapping to structs array
      structs - structure[n] to use if the key value equals keys[n]
      indexOffset - index into the header structure that holds the key value
      indexSize - size of the key value in bytes
      mask - mask used on the key value to get the final key
    • IndexedDynamicDataType

      public IndexedDynamicDataType(String name, String description, DataType header, long singleKey, DataType[] structs, long indexOffset, int indexSize, long mask, DataTypeManager dtm)
      Construct the Indexed dynamic data type template. Used when there is one of two structures following and a single value tells which one. If the key value in the header structure matches the singleKey, then the first structure is used. If the key value does not match the singleKey, then the second structure is used.
      Parameters:
      name - name of the data type
      description - description of the data type
      header - the header data type that holds the keys to the location of other data types
      singleKey - A single key value selects whether the structure appears If the key value equals the singleKey then the first structure is used If the key value doesn't, the second structure is used
      structs - structure[n] to use if the key value equals keys[n]
      indexOffset - index into the header structure that holds the key value
      indexSize - size of the key value in bytes
      mask - mask used on the key value to get the final key
  • Method Details