Class AbstractExtendableJob<BlackboardType extends Blackboard<?>>
- java.lang.Object
-
- de.uka.ipd.sdq.workflow.jobs.AbstractJob
-
- de.uka.ipd.sdq.workflow.jobs.AbstractCompositeJob
-
- de.uka.ipd.sdq.workflow.jobs.SequentialJob
-
- de.uka.ipd.sdq.workflow.jobs.SequentialBlackboardInteractingJob<BlackboardType>
-
- de.uka.ipd.sdq.workflow.extension.AbstractExtendableJob<BlackboardType>
-
- 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
-
-
Field Summary
-
Fields inherited from class de.uka.ipd.sdq.workflow.jobs.SequentialBlackboardInteractingJob
myBlackboard
-
Fields inherited from class de.uka.ipd.sdq.workflow.jobs.AbstractCompositeJob
myExecutedJobs, myJobs
-
Fields inherited from class de.uka.ipd.sdq.workflow.jobs.AbstractJob
logger
-
-
Constructor Summary
Constructors Constructor Description AbstractExtendableJob()
Instantiates a new extendible job.AbstractExtendableJob(boolean cleanUpImmediately)
Instantiates a new extendible job composite job and setting the cleanup behavior.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
handleJobExtensions(String workflowId, ExtendableJobConfiguration configuration)
Check for plug-ins implementing the job extension point and add those jobs to the current workflow.-
Methods inherited from class de.uka.ipd.sdq.workflow.jobs.SequentialBlackboardInteractingJob
execute, getBlackboard, setBlackboard
-
Methods inherited from class de.uka.ipd.sdq.workflow.jobs.SequentialJob
cleanup
-
Methods inherited from class de.uka.ipd.sdq.workflow.jobs.AbstractCompositeJob
add, add, addAll, addAll, addFirst, addJob, addLast, clear, clone, contains, containsAll, descendingIterator, element, equals, get, getFirst, getLast, getName, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, offer, offerFirst, offerLast, peek, peekFirst, peekLast, poll, pollFirst, pollLast, pop, push, remove, remove, remove, removeAll, removeFirst, removeFirstOccurrence, removeLast, removeLastOccurrence, retainAll, set, setName, size, subList, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.List
replaceAll, sort, spliterator
-
-
-
-
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.
-
-