|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object
|
+--java.util.Observable
|
+--uk.org.ogsadai.engine.ProcessingStatus
An Observable class encapsulating the state of processing of
OGSA-DAI entities, such as Request or Activity
objects.
Instances of this class are implemented as Observable wrappers
around a ProcessingStatus field. Observer
implementations can be registered and they will each be updated every time
the status is changed using the setXYZ methods.
Each instance of this class is regarded as being "owned" by the object for
which it acts as status. This "owner" object, which may not be 'null', is
made known to the instance at construction time. A reference to the owner
object is then subsequently passed to observers as the second argument of
their update() method.
A rich set of predicates is provided to establish:
The present implementation uses synchronised methods for thread-safety.
| Field Summary | |
private static java.lang.String |
COPYRIGHT_NOTICE
Copyright statement |
private java.lang.Object |
mOwner
Object whose status is provided by this instance. |
private ProcessingState |
mState
Current state. |
| Fields inherited from class java.util.Observable |
|
| Constructor Summary | |
ProcessingStatus(java.lang.Object owner)
Constructs an instance of this class using a given owner object. |
|
ProcessingStatus(java.lang.Object owner,
ProcessingState initialState)
Constructs an instance of this class using a given owner object and initial state. |
|
| Method Summary | |
void |
copyState(ProcessingStatus status)
Copies the state of the specified ProcessingStatus object
to that of this ProcessingStatus object. |
boolean |
isActive()
Indicates whether the owner object is being initialised or processed. |
boolean |
isCompleted()
Indicates whether processing has completed on the owner object. |
boolean |
isError()
Indicates whether the owner object has stopped processing due to errors. |
boolean |
isInitialising()
Indicates whether initialisation is being carried out on the object for which this instance acts as status. |
boolean |
isLive()
Indicates whether the owner object is still processing or pending initialisation. |
boolean |
isProcessing()
Indicates whether initialisation is complete and processing has commenced. |
boolean |
isStopped()
Indicates whether all processing has stopped on the owner object. |
boolean |
isTerminated()
Indicates whether the processing of the owner object has been externally terminated. |
boolean |
isTimedOut()
Indicates whether processing of the owner object has timed out. |
boolean |
isUnstarted()
Indicates whether the owner object remains uninitialised. |
void |
setCompleted()
Updates the status to reflect that the onwer object has completed processing. |
void |
setError()
Updates the status to reflect that the initialisation or processing of the onwer object has yielded errors. |
void |
setInitialising()
Updates the status to reflect that the onwer object is being initialised. |
void |
setProcessing()
Updates the status to reflect that the onwer object is being actively processed. |
private void |
setState(ProcessingState nextState)
Effects an internal change of state. |
void |
setTerminated()
Updates the status to reflect that the onwer object has been terminated. |
void |
setTimedOut()
Updates the status to reflect that the onwer object has been timed out. |
java.lang.String |
toString()
Provides a textual rendition of the current state. |
| Methods inherited from class java.util.Observable |
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
private static final java.lang.String COPYRIGHT_NOTICE
private ProcessingState mState
private java.lang.Object mOwner
| Constructor Detail |
public ProcessingStatus(java.lang.Object owner,
ProcessingState initialState)
throws java.lang.IllegalArgumentException
owner - the object for which the new instance acts as statusinitialState - the state with which to initialise the new instance
java.lang.IllegalArgumentException - if either of the two parameters is null
public ProcessingStatus(java.lang.Object owner)
throws java.lang.IllegalArgumentException
ProcessingState.UNSTARTED.
owner - the object for which the new instance acts as status
java.lang.IllegalArgumentException - if the supplied argument is null| Method Detail |
private void setState(ProcessingState nextState)
nextState - the target state to which a transition is made.public boolean isStopped()
true if processing has stopped, either normally or
as a result of errors, termination or timing out;
false otherwise.public boolean isLive()
true if processing is as yet unstarted or ongoing;
false otherwise.public boolean isActive()
true if processing is ongoing (i.e., the
processing entity is initialising or being processed);
false otherwise.public final boolean isCompleted()
true if and only if the current state is
ProcessingState.COMPLETED.public final boolean isError()
true if and only if the current state is
ProcessingState.ERROR.public final boolean isTimedOut()
true if and only if the current state is
ProcessingState.TIMEDOUT.public final boolean isUnstarted()
true if and only if the current state is
ProcessingState.UNSTARTED.public final boolean isInitialising()
true if and only if the current state is
ProcessingState.INITIALISING.public final boolean isProcessing()
true if and only if the current state is
ProcessingState.PROCESSING.public final boolean isTerminated()
true if and only if the current state is
ProcessingState.TERMINATED.
public void setInitialising()
throws java.lang.IllegalStateException
java.lang.IllegalStateException - if the current status indicates that initialisation has
already commenced or completed.
public void setProcessing()
throws java.lang.IllegalStateException
java.lang.IllegalStateException - if the current status indicates that processing has already
commenced or completed.
public void setCompleted()
throws java.lang.IllegalStateException
java.lang.IllegalStateException - if the current status indicates that processing has already
completed, either normally or otherwise.
public void setError()
throws java.lang.IllegalStateException
java.lang.IllegalStateException - if the current status indicates that the owner object is
already inactive.
public void setTerminated()
throws java.lang.IllegalStateException
java.lang.IllegalStateException - if the current status indicates that all activity on the
owner object has already stopped, either normally or
otherwise.public void setTimedOut()
java.lang.IllegalStateException - if the current status indicates that all activity on the
owner object has already stopped, either normally or
otherwise.public java.lang.String toString()
toString in class java.lang.ObjectString object encoding the current state, e.g.,
"INITIALISING" or "TIMEDOUT".ProcessingStatepublic void copyState(ProcessingStatus status)
ProcessingStatus object
to that of this ProcessingStatus object.
status - the status to copy
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||