Class SubDataFieldFactory

All Implemented Interfaces:
ExtensionPoint

public class SubDataFieldFactory extends OperandFieldFactory
Generates data value Fields for data subcomponents.

This field is not meant to be loaded by the ClassSearcher, hence the X in the name.

  • Field Details

  • Constructor Details

    • SubDataFieldFactory

      public SubDataFieldFactory(String name, int[] path)
      Constructor
      Parameters:
      name - the name of the field
      path - the component path for the data
  • Method Details

    • getField

      public ListingField getField(ProxyObj<?> proxy, int varWidth)
      Description copied from class: OperandFieldFactory
      Returns the FactoryField for the given object at index index.
      Overrides:
      getField in class OperandFieldFactory
      Parameters:
      proxy - the object whose properties should be displayed.
      varWidth - the amount of variable width spacing for any fields before this one.
      Returns:
      the newly generated FactoryField that shows some property or information about the given object.
    • getProgramLocation

      public ProgramLocation getProgramLocation(int row, int col, ListingField bf)
      Description copied from class: FieldFactory
      Returns the Program location for the given object, row, col, and groupPath
      Parameters:
      row - the row within this field
      col - the col on the given row within this field.
      bf - the ListingField containing the cursor.
      Returns:
      the location.
    • getFieldLocation

      public FieldLocation getFieldLocation(ListingField bf, BigInteger index, int fieldNum, ProgramLocation loc)
      Description copied from class: FieldFactory
      Return a FieldLocation that corresponds to the given index, fieldNum, and ProgramLocation IF and ONLY IF the given programLocation is the type generated by this class's FieldFactory.getFieldLocation(ListingField, BigInteger, int, ProgramLocation). Each FieldFactory should generate and process a unique ProgramLocation class.
      Overrides:
      getFieldLocation in class OperandFieldFactory
      Parameters:
      bf - the ListingField at the current cursor.
      index - the line index (corresponds to an address)
      fieldNum - the index of field within the layout to try and get a FieldLocation.
      loc - the ProgramLocation to be converted into a FieldLocation.
      Returns:
      the location.
      See Also:
    • acceptsType

      public boolean acceptsType(int category, Class<?> proxyObjectClass)
      Description copied from class: FieldFactory
      Used to specify which format models this field can belong to.
      Overrides:
      acceptsType in class OperandFieldFactory
      Parameters:
      category - the category for this field
      proxyObjectClass - the type of proxy object used by this field
      Returns:
      true if this class accepts the given category.
      See Also:
    • newInstance

      public FieldFactory newInstance(FieldFormatModel formatModel, ListingHighlightProvider provider, ToolOptions options, ToolOptions fieldOptions)
      Description copied from class: FieldFactory
      Returns a new instance of this FieldFactory that can be used to generate fields instead of being used as a prototype.
      Overrides:
      newInstance in class OperandFieldFactory
      Parameters:
      formatModel - the model that the field belongs to.
      provider - the HightLightProvider.
      options - the Options for display properties.
      fieldOptions - the Options for field specific properties.
      Returns:
      the factory
    • displayOptionsChanged

      public void displayOptionsChanged(Options options, String optionName, Object oldValue, Object newValue)
      Description copied from class: FieldFactory
      Notifications that the display options changed.
      Overrides:
      displayOptionsChanged in class FieldFactory
      Parameters:
      options - the Display Options object that changed.
      optionName - the name of the property that changed.
      oldValue - the old value of the property.
      newValue - the new value of the property.
    • fieldOptionsChanged

      public void fieldOptionsChanged(Options options, String optionName, Object oldValue, Object newValue)
      Description copied from class: FieldFactory
      Notifications that the field options changed.
      Overrides:
      fieldOptionsChanged in class FieldFactory
      Parameters:
      options - the Field Options object that changed.
      optionName - the name of the property that changed.
      oldValue - the old value of the property.
      newValue - the new value of the property.