Package ghidra.app.util.viewer.field

# Class InvalidAnnotatedStringHandler

java.lang.Object
ghidra.app.util.viewer.field.InvalidAnnotatedStringHandler

All Implemented Interfaces:
  `AnnotatedStringHandler`, `ExtensionPoint`

public class InvalidAnnotatedStringHandler extends Object implements AnnotatedStringHandler
An annotated string handler that is used to display an error message string when there is a problem creating an annotated string.

- ## Field Summary

  ### Fields inherited from interface ghidra.app.util.viewer.field.AnnotatedStringHandler

  `DUMMY_MOUSE_HANDLER`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `InvalidAnnotatedStringHandler()`
  `InvalidAnnotatedStringHandler(String errorText)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AttributedString`
  `createAnnotatedString(AttributedString prototypeString, String[] text, Program program)`
  Creates an `FieldElement` based upon the give array of Strings.
  `String`
  `getDisplayString()`
  Returns the String that represents the GUI presence of this option
  `String`
  `getPrototypeString()`
  Returns an example string of how the annotation is used
  `String`
  `getPrototypeString(String displayText)`
  Returns an example string of how the annotation is used
  `String[]`
  `getSupportedAnnotations()`
  Returns the annotation string names that this AnnotatedStringHandler supports (e.g., "symbol", "address", etc...).
  `boolean`
  `handleMouseClick(String[] annotationParts, Navigatable navigatable, ServiceProvider serviceProvider)`
  A method that is notified when an annotation is clicked.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### InvalidAnnotatedStringHandler

    public InvalidAnnotatedStringHandler()

  - ### InvalidAnnotatedStringHandler

    public InvalidAnnotatedStringHandler(String errorText)

- ## Method Details

  - ### createAnnotatedString

    public AttributedString createAnnotatedString(AttributedString prototypeString, String[] text, Program program) throws AnnotationException
    Description copied from interface: `AnnotatedStringHandler`
    Creates an `FieldElement` based upon the give array of Strings. The first String in the list is expected to be the annotation tag used to create the annotation. At the very least the array is expected to be comprised of two elements, the annotation and some data. Extra data may be provided as needed by implementing classes.
    Specified by:
      `createAnnotatedString` in interface `AnnotatedStringHandler`
    Parameters:
      `prototypeString` - The prototype `FieldElement` that dictates the attributes for the newly created string. Implementations may change attributes as needed.
      `text` - An array of Strings used to create the `FieldElement` being returned.
      `program` - The program with which the returned string is associated.
    Returns:
      An `AnnotatedTextFieldElement` that will be used to render the given text.
    Throws:
      `AnnotationException` - if the given text data does not fit the expected format for the given handler implementation.

  - ### getSupportedAnnotations

    public String[] getSupportedAnnotations()
    Description copied from interface: `AnnotatedStringHandler`
    Returns the annotation string names that this AnnotatedStringHandler supports (e.g., "symbol", "address", etc...).
    Specified by:
      `getSupportedAnnotations` in interface `AnnotatedStringHandler`
    Returns:
      the annotation string names that this AnnotatedStringHandler supports.

  - ### handleMouseClick

    public boolean handleMouseClick(String[] annotationParts, Navigatable navigatable, ServiceProvider serviceProvider)
    Description copied from interface: `AnnotatedStringHandler`
    A method that is notified when an annotation is clicked. Returns true if this annotation handles the click; return false if this annotation does not do anything with the click.
    Specified by:
      `handleMouseClick` in interface `AnnotatedStringHandler`
    Parameters:
      `annotationParts` - The constituent parts of the annotation
      `navigatable` - The location in the program that was clicked.
      `serviceProvider` - A service provider for needed services.
    Returns:
      true if this annotation handles the click; return false if this annotation does not do anything with the click.

  - ### getDisplayString

    public String getDisplayString()
    Description copied from interface: `AnnotatedStringHandler`
    Returns the String that represents the GUI presence of this option
    Specified by:
      `getDisplayString` in interface `AnnotatedStringHandler`
    Returns:
      the String to display in GUI components.

  - ### getPrototypeString

    public String getPrototypeString()
    Description copied from interface: `AnnotatedStringHandler`
    Returns an example string of how the annotation is used
    Specified by:
      `getPrototypeString` in interface `AnnotatedStringHandler`
    Returns:
      the example of how this is used.

  - ### getPrototypeString

    public String getPrototypeString(String displayText)
    Description copied from interface: `AnnotatedStringHandler`
    Returns an example string of how the annotation is used
    Specified by:
      `getPrototypeString` in interface `AnnotatedStringHandler`
    Parameters:
      `displayText` - The text that may be wrapped, cannot be null
    Returns:
      the example of how this is used.