Interface ProcessingManager

All Superinterfaces:
FactoryAccessor
All Known Implementing Classes:
QueueProcessingManager, RuntimeProcessingManager

public interface ProcessingManager extends FactoryAccessor
The processing manager defines the API to process a program model of a given Factory with a set of processors. The program model has been previously built using a SpoonModelBuilder - see SpoonModelBuilder.build(). To use, add processors to the manager, and then call the process method. Also, the method Processor.processingDone() is up called.
See Also:
Environment.getManager()
  • Method Details

    • addProcessor

      void addProcessor(Class<? extends Processor<?>> type)
      Adds a processor by instantiating its type (a class that must define an empty constructor).
      See Also:
      getProcessors()
    • addProcessor

      boolean addProcessor(Processor<?> p)
      Adds a processor.
      See Also:
      getProcessors()
    • addProcessor

      void addProcessor(String qualifiedName)
      Adds a processor by instantiating its type (a class that must define an empty constructor and implement Processor).
      Parameters:
      qualifiedName - the qualified name of the processor's type
      See Also:
      getProcessors()
    • getProcessors

      Collection<Processor<?>> getProcessors()
      Gets the processors that have been added to the manager and that will be applied when invoking one of the process methods).
      See Also:
      process(Collection)
    • process

      void process(Collection<? extends CtElement> elements)
      Recursively processes a collection of CtElements with this manager. All the processors added to this manager (see getProcessors()) should be applied before the method returns (blocking implementation) or before another call to a process method (non-blocking implementation). Processors that have been applied are removed from the manager and getProcessors() does not contain them anymore.
    • process

      void process(CtElement element)
      Recursively processes a CtElement with this manager. All the processors added to this manager (see getProcessors()) should be applied before the method returns (blocking implementation) or before another call to a process method (non-blocking implementation). Processors that have been applied are removed from the manager and getProcessors() does not contain them anymore.