- All Known Subinterfaces:
TransferableQueue
- All Known Implementing Classes:
GraphQueue,GraphQueueImpl,PropertyQueue,QueueImpl,TaskQueue,VVQueue
public interface Queue
A
Queue represents a queue of tasks which is filled
during the execution of an XL program. For the base implementation
of the XL interfaces, when a derivation shall be performed by invocation
of Graph.derive(),
the execution of the queued tasks is induced by the invocation
of process(int[]).
Instances of Queue are obtained at run-time by the method
QueueCollection.getQueue(QueueDescriptor).
The returned queue is registered automatically with the
QueueCollection, this ensures that its
process method is invoked when all queues shall be processes.
The order in which the process method is invoked
for the registered queues of a QueueCollection is defined
by the QueueDescriptors which were used
to obtain the queues, see
QueueCollection.process(int[]).- Author:
- Ole Kniemeyer
-
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clears the queue.voidclearSegmentsToExclude(int[] segments) Returns the descriptor which was used to create this queue.voidmarkSegment(int n) booleanprocess(int[] segments) Processes all queued tasks.voidresetToSegment(int n)
-
Method Details
-
getDescriptor
QueueDescriptor<?> getDescriptor()Returns the descriptor which was used to create this queue.- Returns:
- descriptor of this queue
- See Also:
-
process
Processes all queued tasks. This method is invoked byQueueCollection.process(int[]).- Returns:
trueiff the execution of tasks resulted in modifications to theGraph- Throws:
RuntimeModelException- if some error occurs during execution
-
clearSegmentsToExclude
void clearSegmentsToExclude(int[] segments) -
clear
void clear()Clears the queue. This is invoked by theQueueCollectionin order to reuse the queue for a new transformation step. -
markSegment
void markSegment(int n) -
resetToSegment
void resetToSegment(int n)
-