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 Detail

      • 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 Detail

      • 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.