Class CountedDynamicDataType

  • All Implemented Interfaces:
    BuiltInDataType, DataType, Dynamic, ExtensionPoint, java.util.EventListener, javax.swing.event.ChangeListener

    public abstract class CountedDynamicDataType
    extends DynamicDataType
    A dynamic data type that changes the number of elements it contains based on a count found in header data type. The data type has a header data type which will contain the number of base data types following the header data type. NOTE: This is a special Dynamic data-type which can only appear as a component created by a Dynamic data-type
    • Constructor Detail

      • CountedDynamicDataType

        public CountedDynamicDataType​(java.lang.String name,
                                      java.lang.String description,
                                      DataType header,
                                      DataType baseStruct,
                                      long counterOffset,
                                      int counterSize,
                                      long mask)
        Constructor for this dynamic data type builder.
        Parameters:
        name - name of this dynamic data type
        description - description of the data type
        header - header data type that will contain the number of following elements
        baseStruct - base data type for each of the following elements
        counterOffset - offset of the number of following elements from the start of the header
        counterSize - size of the count in bytes
        mask - mask to apply to the count value to get the actual number of following elements.
    • Method Detail

      • clone

        public DataType clone​(DataTypeManager dtm)
        Description copied from interface: DataType
        Returns a new instance of this DataType with its universalID and SourceArchive identity retained. Note: for built-in DataType's, clone and copy should have the same affect.
        Parameters:
        dtm - the data-type manager instance whose data-organization should apply.
      • getDescription

        public java.lang.String getDescription()
        Description copied from interface: DataType
        Get a String briefly describing this DataType.
        Returns:
        a one-liner describing this DataType.
      • getValue

        public java.lang.Object getValue​(MemBuffer buf,
                                         Settings settings,
                                         int length)
        Description copied from interface: DataType
        Get the data in the form of the appropriate Object for this DataType. For instance if the data type is an AddressDT, return an Address object. a Byte, return a Scalar* (maybe this should be a Byte) a Float, return a Float
        Parameters:
        buf - the data buffer.
        settings - the settings to use.
        length - the number of bytes to get the value from.
        Returns:
        the data Object.
      • getRepresentation

        public java.lang.String getRepresentation​(MemBuffer buf,
                                                  Settings settings,
                                                  int length)
        Description copied from interface: DataType
        Get bytes from memory in a printable format for this type.
        Parameters:
        buf - the data.
        settings - the settings to use for the representation.
        length - the number of bytes to represent.
        Returns:
        the representation of the data in this format, never null.