Class ExecutionPlan

java.lang.Object
edu.umd.cs.findbugs.plan.ExecutionPlan

public class ExecutionPlan extends Object
A plan for executing Detectors on an application. Automatically assigns Detectors to passes and orders Detectors within each pass based on ordering constraints specified in the plugin descriptor(s).
Author:
David Hovemeyer
  • Field Details

    • DEBUG

      public static final boolean DEBUG
  • Constructor Details

    • ExecutionPlan

      public ExecutionPlan()
      Constructor. Creates an empty plan.
  • Method Details

    • dispose

      public void dispose()
    • setDetectorFactoryChooser

      public void setDetectorFactoryChooser(DetectorFactoryChooser factoryChooser)
      Set the DetectorFactoryChooser to use to select which detectors to enable. This must be called before any Plugins are added to the execution plan.
    • isActive

      public boolean isActive(@DottedClassName String detectorClass)
    • isActive

      public boolean isActive(Class<? extends Detector> detectorClass)
    • addPlugin

      public void addPlugin(Plugin plugin) throws OrderingConstraintException
      Add a Plugin whose Detectors should be added to the execution plan.
      Throws:
      OrderingConstraintException
    • build

      public void build() throws OrderingConstraintException
      Build the execution plan. Using the ordering constraints specified in the plugin descriptor(s), assigns Detectors to passes and orders the Detectors within those passes.
      Throws:
      OrderingConstraintException
    • passIterator

      public Iterator<AnalysisPass> passIterator()
      Get an Iterator over the AnalysisPasses.
    • getNumPasses

      public int getNumPasses()
      Get the number of passes in the execution plan.
      Returns:
      the number of passes in the execution plan
    • main

      public static void main(String[] argv) throws Exception
      Throws:
      Exception