Class AbstractExtendableJob<BlackboardType extends Blackboard<?>>

Type Parameters:
BlackboardType - the generic type
All Implemented Interfaces:
IBlackboardInteractingJob<BlackboardType>, ICompositeJob, IJob, Iterable<IJob>, Collection<IJob>, List<IJob>

public abstract class AbstractExtendableJob<BlackboardType extends Blackboard<?>> extends SequentialBlackboardInteractingJob<BlackboardType>
The super class for an extendible job which is able to look up and instantiate job extension which have registered for a specific work flow by it's id. Implementing an extendible job requires to define the jobs that should be executed. This can be done in the constructor of your class - implement the execute method - add the required jobs via this.addJob(job); - call handleJobExtension("myworkflowid") at the point the job extensions should be loaded at handleJobExtension() can be called multiple times with different or even the same workflow id
  • Constructor Details

    • AbstractExtendableJob

      public AbstractExtendableJob()
      Instantiates a new extendible job.
    • AbstractExtendableJob

      public AbstractExtendableJob(boolean cleanUpImmediately)
      Instantiates a new extendible job composite job and setting the cleanup behavior.
      Parameters:
      cleanUpImmediately - Flag if jobs should be cleaned up immediately or not.
  • Method Details

    • handleJobExtensions

      protected void handleJobExtensions(String workflowId, ExtendableJobConfiguration configuration)
      Check for plug-ins implementing the job extension point and add those jobs to the current workflow.
      Parameters:
      workflowId - The id of the work-flow plug-ins have been registered for to extend.
      configuration - The configuration object to access the overall work flow configuration.