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
ConstructorDescriptionInstantiates a new extendible job.AbstractExtendableJob
(boolean cleanUpImmediately) Instantiates a new extendible job composite job and setting the cleanup behavior. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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, executeWithDelayedCleanUp, executeWithImmediateCleanUp
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 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
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.
-