Class SegmentedCodePointerDataType

All Implemented Interfaces:
BuiltInDataType, DataType, ExtensionPoint

public class SegmentedCodePointerDataType extends BuiltIn
  • Constructor Details

    • SegmentedCodePointerDataType

      public SegmentedCodePointerDataType()
    • SegmentedCodePointerDataType

      public SegmentedCodePointerDataType(DataTypeManager dtm)
  • Method Details

    • clone

      public DataType clone(DataTypeManager dtm)
      Description copied from interface: DataType
      Returns an instance of this DataType using the specified DataTypeManager to allow its use of the corresponding DataOrganization while retaining its unique identity (see DataType.getUniversalID() and archive association (see DataType.getSourceArchive()) if applicable.

      This instance will be returned if this datatype's DataTypeManager matches the specified dtm. The recursion depth of a clone will stop on any datatype whose DataTypeManager matches the specified dtm and simply use the existing datatype instance.

      NOTE: In general, this method should not be used to obtain an instance to be modified. In most cases changes shuold be made directly to this instance if supported or to a DataType.copy(DataTypeManager).

      Parameters:
      dtm - the data-type manager instance whose data-organization should apply.
      Returns:
      cloned instance which may be the same as this instance
    • getMnemonic

      public 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.
    • getLength

      public int getLength()
      Description copied from interface: DataType
      Get the length (number of 8-bit bytes) of this DataType.

      NOTE: No datatype should ever return 0, even if DataType.isZeroLength(), and only Dynamic datatypes should return -1. If DataType.isZeroLength() is true a length of 1 should be returned. Where a zero-length datatype can be handled (e.g., Composite) the DataType.isZeroLength() method should be used.

      Returns:
      the length of this DataType
    • getDescription

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

      public Object getValue(MemBuffer buf, Settings settings, int length)
      Description copied from interface: DataType
      Get the interpretted data value in the form of the appropriate Object for this DataType. This method must return a value consistent with DataType.getValueClass(Settings).

      For instance, if this datatype is a Pointer an Address object or null should be returned. A Byte, returns a Scalar object.

      Parameters:
      buf - the data buffer.
      settings - the settings to use.
      length - the number of bytes to get the value from.
      Returns:
      the data Object.
      See Also:
    • getValueClass

      public Class<?> getValueClass(Settings settings)
      Description copied from interface: DataType
      Get the Class of the value Object to be returned by this datatype (see DataType.getValue(MemBuffer, Settings, int)).
      Specified by:
      getValueClass in interface DataType
      Overrides:
      getValueClass in class DataTypeImpl
      Parameters:
      settings - the relevant settings to use or null for default.
      Returns:
      Class of the value to be returned by this datatype or null if it can vary or is unspecified. Types which correspond to a string or char array will return the String class.
    • getRepresentation

      public 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.
      See Also: