Interface BugAnnotation

All Superinterfaces:
Cloneable, Comparable<BugAnnotation>, Serializable, XMLWriteable, XMLWriteableWithMessages
All Known Implementing Classes:
BugAnnotationWithSourceLines, ClassAnnotation, FieldAnnotation, IntAnnotation, LocalVariableAnnotation, MethodAnnotation, PackageMemberAnnotation, SourceLineAnnotation, StringAnnotation, TypeAnnotation

public interface BugAnnotation extends Comparable<BugAnnotation>, XMLWriteableWithMessages, Serializable, Cloneable
An object providing context information about a particular BugInstance.

A custom bug annotation can implement a static method called 'fromXML(String qName, Attributes attributes)', and ensure its ELEMENT_NAME equals to its CLASSNAME. Then, the handler will find the annotation class and invoke this method to deserialize annotation when the report xml is loaded.

Author:
David Hovemeyer
See Also:
  • Field Details

    • MESSAGE_TAG

      static final String MESSAGE_TAG
      XML tag for a formatted text message describing the annotation.
      See Also:
  • Method Details

    • clone

      Object clone()
    • accept

      void accept(BugAnnotationVisitor visitor)
      Accept a BugAnnotationVisitor.
      Parameters:
      visitor - the visitor to accept
    • format

      String format(String key, ClassAnnotation primaryClass)
      Format the annotation as a String. The given key specifies additional information about how the annotation should be formatted. If the key is empty, then the "default" format will be used.
      Parameters:
      key - how the annotation should be formatted
      primaryClass - The primary class for the bug; some bug annotation format msgs are simplified in relation to that class.
    • getDescription

      String getDescription()
      Get a description of this bug annotation. The description is a key for the FindBugsAnnotationDescriptions resource bundle.
    • setDescription

      void setDescription(String description)
      Set a description of this bug annotation. The description is a key for the FindBugsAnnotationDescriptions resource bundle.
    • isSignificant

      boolean isSignificant()
      Is this annotation used to compute instance hashes or match bug instances across versions
      Returns:
      true if significant
    • toString

      String toString(ClassAnnotation primaryClass)