Class StructuredDynamicDataType

  • All Implemented Interfaces:
    BuiltInDataType, DataType, Dynamic, ExtensionPoint

    public abstract class StructuredDynamicDataType
    extends DynamicDataType
    Structured Dynamic Data type. Dynamic Structure that is built by adding data types to it. NOTE: This is a special Dynamic data-type which can only appear as a component created by a Dynamic data-type
    • Field Detail

      • description

        protected java.lang.String description
      • components

        protected java.util.List<DataType> components
      • componentNames

        protected java.util.List<java.lang.String> componentNames
      • componentDescs

        protected java.util.List<java.lang.String> componentDescs
    • Constructor Detail

      • StructuredDynamicDataType

        public StructuredDynamicDataType​(java.lang.String name,
                                         java.lang.String description,
                                         DataTypeManager dtm)
        Construct an empty dynamic structure
        Parameters:
        name - name of the dynamic structure
        description - description of the dynamic structure
    • Method Detail

      • add

        public void add​(DataType data,
                        java.lang.String componentName,
                        java.lang.String componentDescription)
        Add a component data type onto the end of the dynamic structure
        Parameters:
        data - data type to add
        componentName - name of the field in the dynamic structure
        componentDescription - description of the field
      • setComponents

        public void setComponents​(java.util.List<DataType> components,
                                  java.util.List<java.lang.String> componentNames,
                                  java.util.List<java.lang.String> componentDescs)
        Set the components of the dynamic structure all at once. This does not add the components in, it replaces any existing ones.
        Parameters:
        components - list of components to add
        componentNames - list of field names of each component
        componentDescs - list of descriptions of each component
      • getAllComponents

        protected DataTypeComponent[] getAllComponents​(MemBuffer buf)
        Description copied from class: DynamicDataType
        Get all dynamic components associated with the specified MemBuffer
        Specified by:
        getAllComponents in class DynamicDataType
        Parameters:
        buf - memory buffer positioned at start of data type instance
        Returns:
        all components or null if memory data is not valid for this data type.
      • 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 datatype 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.
      • getMnemonic

        public java.lang.String getMnemonic​(Settings settings)
        Description copied from interface: DataType
        Get the mnemonic for this DataType.
        Specified by:
        getMnemonic in interface DataType
        Overrides:
        getMnemonic in class AbstractDataType
        Parameters:
        settings - settings which may influence the result or null
        Returns:
        the mnemonic for this DataType.