FindBugs™ 1.3.9

edu.umd.cs.findbugs
Class PackageMemberAnnotation

java.lang.Object
  extended by edu.umd.cs.findbugs.BugAnnotationWithSourceLines
      extended by edu.umd.cs.findbugs.PackageMemberAnnotation
All Implemented Interfaces:
BugAnnotation, XMLWriteable, XMLWriteableWithMessages, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<BugAnnotation>
Direct Known Subclasses:
ClassAnnotation, FieldAnnotation, MethodAnnotation

public abstract class PackageMemberAnnotation
extends BugAnnotationWithSourceLines

Abstract base class for BugAnnotations describing constructs which are contained in a Java package. Specifically, this includes classes, methods, and fields.

Author:
David Hovemeyer
See Also:
BugAnnotation, Serialized Form

Field Summary
protected  java.lang.String className
           
protected  java.lang.String description
           
 
Fields inherited from class edu.umd.cs.findbugs.BugAnnotationWithSourceLines
sourceFileName, sourceLines
 
Fields inherited from interface edu.umd.cs.findbugs.BugAnnotation
MESSAGE_TAG
 
Constructor Summary
protected PackageMemberAnnotation(java.lang.String className, java.lang.String description)
          Constructor.
 
Method Summary
 java.lang.String format(java.lang.String key, ClassAnnotation primaryClass)
          Format the annotation.
protected abstract  java.lang.String formatPackageMember(java.lang.String key, ClassAnnotation primaryClass)
          Do default and subclass-specific formatting.
 ClassDescriptor getClassDescriptor()
          Get the class name.
 java.lang.String getClassName()
          Get the class name.
 java.lang.String getDescription()
          Get a description of this bug annotation.
 java.lang.String getPackageName()
          Get the package name.
 boolean isSignificant()
          Is this annotation used to compute instance hashes or match bug instances across versions
protected static java.lang.String removePackage(java.lang.String typeName)
           
protected static java.lang.String removePackageName(java.lang.String typeName)
          Shorten a type name by removing the package name
 void setDescription(java.lang.String description)
          Set a description of this bug annotation.
protected static java.lang.String shorten(java.lang.String pkgName, java.lang.String typeName)
          Shorten a type name of remove extraneous components.
 java.lang.String toString()
          All PackageMemberAnnotation object share a common toString() implementation.
 java.lang.String toString(ClassAnnotation primaryClass)
           
 
Methods inherited from class edu.umd.cs.findbugs.BugAnnotationWithSourceLines
clone, getSourceFileName, getSourceLines, setSourceLines
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.umd.cs.findbugs.BugAnnotation
accept
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface edu.umd.cs.findbugs.XMLWriteableWithMessages
writeXML
 
Methods inherited from interface edu.umd.cs.findbugs.xml.XMLWriteable
writeXML
 

Field Detail

className

@DottedClassName
protected final java.lang.String className

description

protected java.lang.String description
Constructor Detail

PackageMemberAnnotation

protected PackageMemberAnnotation(@DottedClassName
                                  java.lang.String className,
                                  java.lang.String description)
Constructor.

Parameters:
className - name of the class
Method Detail

getClassName

@DottedClassName
public final java.lang.String getClassName()
Get the class name.


getClassDescriptor

public final ClassDescriptor getClassDescriptor()
Get the class name.


getPackageName

public final java.lang.String getPackageName()
Get the package name.


format

public final java.lang.String format(java.lang.String key,
                                     ClassAnnotation primaryClass)
Format the annotation. Note that this version (defined by PackageMemberAnnotation) only handles the "class" and "package" keys, and calls formatPackageMember() for all other keys.

Parameters:
key - the key
primaryClass - The primary class for the bug; some bug annotation format msgs are simplified in relation to that class.
Returns:
the formatted annotation

setDescription

public void setDescription(java.lang.String description)
Description copied from interface: BugAnnotation
Set a description of this bug annotation. The description is a key for the FindBugsAnnotationDescriptions resource bundle.


getDescription

public java.lang.String getDescription()
Description copied from interface: BugAnnotation
Get a description of this bug annotation. The description is a key for the FindBugsAnnotationDescriptions resource bundle.


shorten

protected static java.lang.String shorten(java.lang.String pkgName,
                                          java.lang.String typeName)
Shorten a type name of remove extraneous components. Candidates for shortening are classes in same package as this annotation and classes in the java.lang package.


removePackage

protected static java.lang.String removePackage(java.lang.String typeName)

removePackageName

protected static java.lang.String removePackageName(java.lang.String typeName)
Shorten a type name by removing the package name


formatPackageMember

protected abstract java.lang.String formatPackageMember(java.lang.String key,
                                                        ClassAnnotation primaryClass)
Do default and subclass-specific formatting.

Parameters:
key - the key specifying how to do the formatting
primaryClass - TODO

toString

public java.lang.String toString()
All PackageMemberAnnotation object share a common toString() implementation. It uses the annotation description as a pattern for FindBugsMessageFormat, passing a reference to this object as the single message parameter.

Overrides:
toString in class java.lang.Object

toString

public java.lang.String toString(ClassAnnotation primaryClass)
Specified by:
toString in interface BugAnnotation
Overrides:
toString in class BugAnnotationWithSourceLines

isSignificant

public boolean isSignificant()
Description copied from interface: BugAnnotation
Is this annotation used to compute instance hashes or match bug instances across versions

Returns:
true if significant

FindBugs™ 1.3.9

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.