Package ghidra.program.model.data

# Interface TypeDefSettingsDefinition

All Superinterfaces:
  `SettingsDefinition`

All Known Implementing Classes:
  `AddressSpaceSettingsDefinition`, `ComponentOffsetSettingsDefinition`, `OffsetMaskSettingsDefinition`, `OffsetShiftSettingsDefinition`, `PointerTypeSettingsDefinition`, `RGB16EncodingSettingsDefinition`, `RGB32EncodingSettingsDefinition`

public interface TypeDefSettingsDefinition extends SettingsDefinition
`TypeDefSettingsDefinition` specifies a `SettingsDefinition` whose use as a `TypeDef` setting will be available for use within a non-Program DataType archive. Such settings will be considered for DataType equivalence checks and preserved during DataType cloning and resolve processing. As such, these settings are only currently supported as a default-setting on a `TypeDef` (see `DataType.getDefaultSettings()`) and do not support component-specific or data-instance use. NOTE: Full support for this type of setting has only been fully implemented for TypeDef in support. There may be quite a few obstacles to overcome when introducing such settings to a different datatype.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static TypeDefSettingsDefinition[]`
  `concat(TypeDefSettingsDefinition[] settings, TypeDefSettingsDefinition... additional)`
  Create a new list of `TypeDefSettingsDefinition`s by concat'ing a base list with a var-arg'ish additional list of setting defs.
  `String`
  `getAttributeSpecification(Settings settings)`
  Get the `TypeDef` attribute specification for this setting and its current value.

  ### Methods inherited from interface ghidra.docking.settings.SettingsDefinition

  `clear, copySetting, getDescription, getName, getStorageKey, getValueString, hasSameValue, hasValue`

- ## Method Details

  - ### getAttributeSpecification

    String getAttributeSpecification(Settings settings)
    Get the `TypeDef` attribute specification for this setting and its current value.
    Parameters:
      `settings` - typedef settings
    Returns:
      attribute specification or null if not currently set.

  - ### concat

    static TypeDefSettingsDefinition[] concat(TypeDefSettingsDefinition[] settings, TypeDefSettingsDefinition... additional)
    Create a new list of `TypeDefSettingsDefinition`s by concat'ing a base list with a var-arg'ish additional list of setting defs. Any additional duplicates are discarded.
    Parameters:
      `settings` - List of settings defs.
      `additional` - More settings defs to add
    Returns:
      new array with all the settings defs joined together.