com.guiseframework.controller
Class SequenceTaskController

java.lang.Object
  extended by com.globalmentor.beans.BoundPropertyObject
      extended by com.guiseframework.controller.SequenceTaskController
All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable

public class SequenceTaskController
extends com.globalmentor.beans.BoundPropertyObject

Abstract base class for managing progression of a sequence.

Author:
Garret Wilson

Field Summary
protected static int CONFIRM_DELAY
          The length of time, in milliseconds, to wait for confirmation when applicable.
static java.lang.String CONFIRM_NAVIGATION_PROPERTY
          The bound property of whether navigation should be confirmed, of type Boolean.
 
Fields inherited from class com.globalmentor.beans.BoundPropertyObject
NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
 
Constructor Summary
SequenceTaskController(com.globalmentor.model.SequenceTask task)
          Sequence task constructor.
 
Method Summary
 ProxyActionPrototype getAdvanceActionPrototype()
          The action prototype for advancing; serves as a proxy for the start, next, and finish actions, depending on the state of the sequence.
 ActionPrototype getConfirmActionPrototype()
           
 ActionPrototype getConfirmingActionPrototype()
          The action prototype currently being confirmed and which, if confirmed, will be performed.
 ActionPrototype getFinishActionPrototype()
           
 ActionPrototype getNextActionPrototype()
           
 ActionPrototype getPreviousActionPrototype()
           
 ActionPrototype getStartActionPrototype()
           
 com.globalmentor.model.SequenceTask getTask()
           
 boolean isConfirmNavigation()
           
 void setConfirmingActionPrototype(ActionPrototype newConfirmingActionPrototype)
          Starts the confirmation timer and, if confirmation is received within the required amount of time, the given action is taken.
 void setConfirmNavigation(boolean newConfirmNavigation)
          Sets whether each navigation must be confirmed.
protected  void update()
          Updates the condition of the controller based upon the state.
 
Methods inherited from class com.globalmentor.beans.BoundPropertyObject
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONFIRM_NAVIGATION_PROPERTY

public static final java.lang.String CONFIRM_NAVIGATION_PROPERTY
The bound property of whether navigation should be confirmed, of type Boolean.


CONFIRM_DELAY

protected static final int CONFIRM_DELAY
The length of time, in milliseconds, to wait for confirmation when applicable.

See Also:
Constant Field Values
Constructor Detail

SequenceTaskController

public SequenceTaskController(com.globalmentor.model.SequenceTask task)
Sequence task constructor. This controller listens to bound properties of the task.

Parameters:
task - The sequence task being controlled.
Throws:
java.lang.NullPointerException - if the given task is null.
Method Detail

getStartActionPrototype

public ActionPrototype getStartActionPrototype()
Returns:
The action prototype for starting the sequence.

getPreviousActionPrototype

public ActionPrototype getPreviousActionPrototype()
Returns:
The action prototype for going to the previous step.

getNextActionPrototype

public ActionPrototype getNextActionPrototype()
Returns:
The action prototype for going to the next step.

getFinishActionPrototype

public ActionPrototype getFinishActionPrototype()
Returns:
The action prototype for finishing the sequence.

getConfirmActionPrototype

public ActionPrototype getConfirmActionPrototype()
Returns:
The action prototype for confirming an action.

getAdvanceActionPrototype

public ProxyActionPrototype getAdvanceActionPrototype()
The action prototype for advancing; serves as a proxy for the start, next, and finish actions, depending on the state of the sequence.

See Also:
getStartActionPrototype(), getNextActionPrototype(), getFinishActionPrototype()

getConfirmingActionPrototype

public ActionPrototype getConfirmingActionPrototype()
The action prototype currently being confirmed and which, if confirmed, will be performed.


setConfirmingActionPrototype

public void setConfirmingActionPrototype(ActionPrototype newConfirmingActionPrototype)
Starts the confirmation timer and, if confirmation is received within the required amount of time, the given action is taken. Alternatively, if no action is given, the confirmation process is stopped. If the action is already waiting for confirmation, no action is taken.

Parameters:
newConfirmingActionPrototype - The action to perform if confirmation is received, or null if no action should be pending confirmation.

isConfirmNavigation

public boolean isConfirmNavigation()
Returns:
true if each navigation should be confirmed.

setConfirmNavigation

public void setConfirmNavigation(boolean newConfirmNavigation)
Sets whether each navigation must be confirmed. This is a bound property of type Boolean.

Parameters:
newConfirmNavigation - true if each navigation must be confirmed.
See Also:
CONFIRM_NAVIGATION_PROPERTY

getTask

public com.globalmentor.model.SequenceTask getTask()
Returns:
The sequence task being controlled.

update

protected void update()
Updates the condition of the controller based upon the state. This method is a convenience method for complex components that would like to perform wholesale updates any prototypes, enabled/disabled status, proxied actions, etc. This implementation updates the states of action prototypes.



Copyright © 2005-2010 GlobalMentor, Inc. All Rights Reserved.