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 Detail

      • NULL_BODY_DESCRIPTION

        public static final java.lang.String NULL_BODY_DESCRIPTION
        Structures which do not have a body
        See Also:
        Constant Field Values
      • description

        protected java.lang.String description
      • keys

        protected long[] keys
      • indexOffset

        protected long indexOffset
      • indexSize

        protected int indexSize
      • mask

        protected long mask
    • Constructor Detail

      • IndexedDynamicDataType

        public IndexedDynamicDataType​(java.lang.String name,
                                      java.lang.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​(java.lang.String name,
                                      java.lang.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