uk.org.ogsadai.engine.controlflow
Class SequenceRequestComponent

java.lang.Object
  |
  +--uk.org.ogsadai.engine.controlflow.CompositeRequestComponent
        |
        +--uk.org.ogsadai.engine.controlflow.SequenceRequestComponent
All Implemented Interfaces:
RequestComponent

public class SequenceRequestComponent
extends CompositeRequestComponent
implements RequestComponent

A composite RequestComponent that contains a number of child components which will be processed sequentially when the process method is invoked.

Author:
The OGSA-DAI Project Team

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement.
private static DAILogger LOG
          Logger object for logging in this class.
private  java.lang.String mName
          Unique name of this sequence request component.
 
Fields inherited from class uk.org.ogsadai.engine.controlflow.CompositeRequestComponent
 
Constructor Summary
SequenceRequestComponent(java.lang.String name)
          Constructor
 
Method Summary
 void process(ActivityContext context, ResponseBuilder responseBuilder)
          Processes the component.
 void terminate()
          Terminates the processing of the request component.
 
Methods inherited from class uk.org.ogsadai.engine.controlflow.CompositeRequestComponent
add, children, generatesResultData, initialise
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface uk.org.ogsadai.engine.controlflow.RequestComponent
add, children, generatesResultData, initialise
 

Field Detail

COPYRIGHT_NOTICE

private static final java.lang.String COPYRIGHT_NOTICE
Copyright statement.

See Also:
Constant Field Values

LOG

private static final DAILogger LOG
Logger object for logging in this class.


mName

private final java.lang.String mName
Unique name of this sequence request component.

Constructor Detail

SequenceRequestComponent

public SequenceRequestComponent(java.lang.String name)
Constructor

Parameters:
name - Unique name of this sequence request component.
Method Detail

process

public void process(ActivityContext context,
                    ResponseBuilder responseBuilder)
             throws RequestSpecificationException,
                    RequestExecutionException
Description copied from interface: RequestComponent
Processes the component. If this is a composite component, then any child components will be processed recursively. Wherever possible an implementation should be coded in such a way that the processing can be terminated prematurely by an invocation of the terminate method by another thread. Hence, when this method returns processing will be either complete or terminated.

Specified by:
process in interface RequestComponent
Parameters:
context - The context for the request
responseBuilder - The response builder for assembling the response document during processing
Throws:
RequestExecutionException - If a problem occurs during processing that is not caused by incorrect information in the request.
RequestSpecificationException - If there is a processing problem caused by incorrect information in the request.

terminate

public void terminate()
Description copied from interface: RequestComponent
Terminates the processing of the request component. When this method returns, any threads and other resources associated with the processing of this request must be finished with.

Specified by:
terminate in interface RequestComponent