Interface ProgramBasedDataTypeManager

All Superinterfaces:
DataTypeManager, DomainFileBasedDataTypeManager, FileBasedDataTypeManager
All Known Implementing Classes:
ProgramBasedDataTypeManagerDB, ProgramDataTypeManager

public interface ProgramBasedDataTypeManager extends DomainFileBasedDataTypeManager
Extends DataTypeManager to include methods specific to a data type manager for a program.
  • Method Details

    • getProgram

      Program getProgram()
      Get the program instance associated with this datatype manager
      Returns:
      program instance associated with this datatype manager
    • isChangeAllowed

      boolean isChangeAllowed(Data data, SettingsDefinition settingsDefinition)
      Determine if a settings change is permitted for the specified settingsDefinition.
      Parameters:
      data - data code unit
      settingsDefinition - settings definition
      Returns:
      true if change permitted else false
    • setLongSettingsValue

      boolean setLongSettingsValue(Data data, String name, long value)
      Set the long value for data instance settings.
      Parameters:
      data - data code unit
      name - settings name
      value - value of setting
      Returns:
      true if the settings actually changed
    • setStringSettingsValue

      boolean setStringSettingsValue(Data data, String name, String value)
      Set the string value for data instance settings.
      Parameters:
      data - data code unit
      name - settings name
      value - value of setting
      Returns:
      true if the settings actually changed
    • setSettings

      boolean setSettings(Data data, String name, Object value)
      Set the Object value for data instance settings.
      Parameters:
      data - data code unit
      name - the name of the settings
      value - the value for the settings, must be either a String, byte[] or Long
      Returns:
      true if the settings were updated
    • getLongSettingsValue

      Long getLongSettingsValue(Data data, String name)
      Get the long value for data instance settings.
      Parameters:
      data - data code unit
      name - settings name
      Returns:
      null if the named setting was not found
    • getStringSettingsValue

      String getStringSettingsValue(Data data, String name)
      Get the String value for data instance settings.
      Parameters:
      data - data code unit
      name - settings name
      Returns:
      null if the named setting was not found
    • getSettings

      Object getSettings(Data data, String name)
      Gets the value for data instance settings in Object form.
      Parameters:
      data - data code unit
      name - the name of settings.
      Returns:
      the settings object
    • clearSetting

      boolean clearSetting(Data data, String name)
      Clear the specified setting for the given data
      Parameters:
      data - data code unit
      name - settings name
      Returns:
      true if the settings were cleared
    • clearAllSettings

      void clearAllSettings(Data data)
      Clear all settings for the given data.
      Parameters:
      data - data code unit
    • getInstanceSettingsNames

      String[] getInstanceSettingsNames(Data data)
      Returns all the instance Settings names used for the specified data
      Parameters:
      data - data code unit
      Returns:
      the names
    • isEmptySetting

      boolean isEmptySetting(Data data)
      Returns true if no settings are set for the given data
      Parameters:
      data - data code unit
      Returns:
      true if not settings
    • moveAddressRange

      void moveAddressRange(Address fromAddr, Address toAddr, long length, TaskMonitor monitor) throws CancelledException
      Move the settings in the range to the new start address
      Parameters:
      fromAddr - start address from where to move
      toAddr - new Address to move to
      length - number of addresses to move
      monitor - progress monitor
      Throws:
      CancelledException - if the operation was cancelled
    • deleteAddressRange

      void deleteAddressRange(Address startAddr, Address endAddr, TaskMonitor monitor) throws CancelledException
      Removes all settings in the range
      Parameters:
      startAddr - the first address in the range.
      endAddr - the last address in the range.
      monitor - the progress monitor
      Throws:
      CancelledException - if the user cancelled the operation.