Class ExecutionPlan


  • public class ExecutionPlan
    extends java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      static boolean DEBUG  
    • Constructor Summary

      Constructors 
      Constructor Description
      ExecutionPlan()
      Constructor.
    • Field Detail

      • DEBUG

        public static final boolean DEBUG
    • Constructor Detail

      • ExecutionPlan

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

      • 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
                                java.lang.String detectorClass)
      • isActive

        public boolean isActive​(java.lang.Class<? extends Detector> detectorClass)
      • 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 java.util.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​(java.lang.String[] argv)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception