FindBugs™ 1.3.9

edu.umd.cs.findbugs
Class DetectorFactory

java.lang.Object
  extended by edu.umd.cs.findbugs.DetectorFactory

public class DetectorFactory
extends java.lang.Object

A DetectorFactory is responsible for creating instances of Detector objects and for maintaining meta-information about the detector class.

Author:
David Hovemeyer
See Also:
Detector

Constructor Summary
DetectorFactory(Plugin plugin, java.lang.Class<?> detectorClass, boolean enabled, java.lang.String speed, java.lang.String reports, java.lang.String requireJRE)
          Constructor.
 
Method Summary
 Detector create(BugReporter bugReporter)
          Deprecated. Use createDetector2 in new code
 Detector2 createDetector2(BugReporter bugReporter)
          Create a Detector2 instance.
 java.lang.String getDetailHTML()
          Get an HTML document describing the Detector.
 java.lang.String getFullName()
          Get the full name of the detector.
 Plugin getPlugin()
          Get the Plugin that this Detector is part of.
 int getPositionSpecifiedInPluginDescriptor()
          Get the overall position in which this detector was specified in the plugin descriptor.
 int getPriorityAdjustment()
          Get the priority adjustment for the detector produced by this factory.
 java.lang.String getReportedBugPatternCodes()
          Get list of bug pattern codes reported by the detector: blank if unknown.
 java.util.Set<BugPattern> getReportedBugPatterns()
          Get set of all BugPatterns this detector reports.
 java.lang.String getShortName()
          Get the short name of the Detector.
 java.lang.String getSpeed()
          Get the speed of the Detector produced by this factory.
 boolean isDefaultEnabled()
          Is this factory enabled by default
 boolean isDetectorClassSubtypeOf(java.lang.Class<?> otherClass)
          Determine whether the detector class is a subtype of the given class (or interface).
 boolean isEnabledForCurrentJRE()
          Check to see if we are running on a recent-enough JRE for this detector to be enabled.
 boolean isHidden()
          Get visibility of the factory (to GUI dialogs to configure detectors).
 boolean isReportingDetector()
          Return whether or not this DetectorFactory produces detectors which report warnings.
 void setDetailHTML(java.lang.String detailHTML)
          Set the HTML document describing the Detector.
 void setEnabledButNonReporting(boolean notReporting)
           
 void setHidden(boolean hidden)
          Set visibility of the factory (to GUI dialogs to configure detectors).
 void setPositionSpecifiedInPluginDescriptor(int positionSpecifiedInPluginDescriptor)
          Set the overall position in which this detector was specified in the plugin descriptor.
 void setPriorityAdjustment(int priorityAdjustment)
          Set the priority adjustment for the detector produced by this factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DetectorFactory

public DetectorFactory(Plugin plugin,
                       java.lang.Class<?> detectorClass,
                       boolean enabled,
                       java.lang.String speed,
                       java.lang.String reports,
                       java.lang.String requireJRE)
Constructor.

Parameters:
plugin - the Plugin the Detector is part of
detectorClass - the Class object of the Detector
enabled - true if the Detector is enabled by default, false if disabled
speed - a string describing roughly how expensive the analysis performed by the detector is; suggested values are "fast", "moderate", and "slow"
reports - comma separated list of bug pattern codes reported by the detector; empty if unknown
requireJRE - string describing JRE version required to run the the detector: e.g., "1.5"
Method Detail

setPositionSpecifiedInPluginDescriptor

public void setPositionSpecifiedInPluginDescriptor(int positionSpecifiedInPluginDescriptor)
Set the overall position in which this detector was specified in the plugin descriptor.

Parameters:
positionSpecifiedInPluginDescriptor - position in plugin descriptor

getPositionSpecifiedInPluginDescriptor

public int getPositionSpecifiedInPluginDescriptor()
Get the overall position in which this detector was specified in the plugin descriptor.

Returns:
position in plugin descriptor

getPlugin

public Plugin getPlugin()
Get the Plugin that this Detector is part of.

Returns:
the Plugin this Detector is part of

isDetectorClassSubtypeOf

public boolean isDetectorClassSubtypeOf(java.lang.Class<?> otherClass)
Determine whether the detector class is a subtype of the given class (or interface).

Parameters:
otherClass - a class or interface
Returns:
true if the detector class is a subtype of the given class or interface

isReportingDetector

public boolean isReportingDetector()
Return whether or not this DetectorFactory produces detectors which report warnings.

Returns:
true if the created Detectors report warnings, false if not

isEnabledForCurrentJRE

public boolean isEnabledForCurrentJRE()
Check to see if we are running on a recent-enough JRE for this detector to be enabled.

Returns:
true if the current JRE is recent enough to run the Detector, false if it is too old

setHidden

public void setHidden(boolean hidden)
Set visibility of the factory (to GUI dialogs to configure detectors). Invisible detectors are those that are needed behind the scenes, but shouldn't be explicitly enabled or disabled by the user.

Parameters:
hidden - true if this factory should be hidden, false if not

isHidden

public boolean isHidden()
Get visibility of the factory (to GUI dialogs to configure detectors).


isDefaultEnabled

public boolean isDefaultEnabled()
Is this factory enabled by default


setPriorityAdjustment

public void setPriorityAdjustment(int priorityAdjustment)
Set the priority adjustment for the detector produced by this factory.

Parameters:
priorityAdjustment - the priority adjustment

setEnabledButNonReporting

public void setEnabledButNonReporting(boolean notReporting)

getPriorityAdjustment

public int getPriorityAdjustment()
Get the priority adjustment for the detector produced by this factory.

Returns:
the priority adjustment

getSpeed

public java.lang.String getSpeed()
Get the speed of the Detector produced by this factory.


getReportedBugPatternCodes

public java.lang.String getReportedBugPatternCodes()
Get list of bug pattern codes reported by the detector: blank if unknown.


getReportedBugPatterns

public java.util.Set<BugPattern> getReportedBugPatterns()
Get set of all BugPatterns this detector reports. An empty set means that we don't know what kind of bug patterns might be reported.


getDetailHTML

public java.lang.String getDetailHTML()
Get an HTML document describing the Detector.


setDetailHTML

public void setDetailHTML(java.lang.String detailHTML)
Set the HTML document describing the Detector.


create

@Deprecated
public Detector create(BugReporter bugReporter)
Deprecated. Use createDetector2 in new code

Create a Detector instance. This method is only guaranteed to work for old-style detectors using the BCEL bytecode framework.

Parameters:
bugReporter - the BugReporter to be used to report bugs
Returns:
the Detector

createDetector2

public Detector2 createDetector2(BugReporter bugReporter)
Create a Detector2 instance.

Parameters:
bugReporter - the BugReporter to be used to report bugs
Returns:
the Detector2

getShortName

public java.lang.String getShortName()
Get the short name of the Detector. This is the name of the detector class without the package qualification.


getFullName

public java.lang.String getFullName()
Get the full name of the detector. This is the name of the detector class, with package qualification.


FindBugs™ 1.3.9

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