org.salespointframework.core
Class UIGate

java.lang.Object
  extended by org.salespointframework.core.UIGate
All Implemented Interfaces:
Gate

public class UIGate
extends java.lang.Object
implements Gate

A gate at which a FormSheet and/or a MenuSheet can be displayed. The transition that leaves the gate will depend on the users interaction with the Form- and/or MenuSheet.

Since:
v2.0
Version:
2.0 17/08/1999
Author:
Steffen Zschaler

Field Summary
private static int FORMSHEET
          The FormSheet changed.
protected  FormSheet m_fsFormSheet
          The FormSheet to be displayed.
protected  MenuSheet m_msMenuSheet
          The MenuSheet to be displayed.
private  int m_nChanged
          Bit field indicating the last change.
private  java.lang.Object m_oLock
          The monitor synchronizing access to the elements as well as a communications channel.
private  Transition m_tTransition
          The transition that will leave this gate.
private static int MENUSHEET
          The MenuSheet changed.
private static int NOTHING
          Nothing changed.
private static int TRANSITION
          The transition was set.
 
Constructor Summary
UIGate(FormSheet fs, MenuSheet ms)
          Create a new UIGate.
 
Method Summary
 FormSheet getFormSheet()
          get the FormSheet that is being displayed at this gate.
private  java.lang.Object getLock()
          Return the monitor synchronizing access to the elements as well as a communications channel.
 MenuSheet getMenuSheet()
          get the MenuSheet that is being displayed at this gate.
 Transition getNextTransition(SaleProcess pOwner, User usr, boolean stay)
          Returns the next Transition to jump to.
 void setFormSheet(FormSheet fs)
          Set the FormSheet that is being displayed at this Gate.
 void setMenuSheet(MenuSheet ms)
          Set the MenuSheet that is being displayed at this gate.
 void setNextTransition(Transition tNext)
          Set the transition that will leave this gate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_fsFormSheet

protected FormSheet m_fsFormSheet
The FormSheet to be displayed.


m_msMenuSheet

protected MenuSheet m_msMenuSheet
The MenuSheet to be displayed.


m_tTransition

private transient Transition m_tTransition
The transition that will leave this gate.


m_oLock

private transient java.lang.Object m_oLock
The monitor synchronizing access to the elements as well as a communications channel.


m_nChanged

private transient int m_nChanged
Bit field indicating the last change.


NOTHING

private static final int NOTHING
Nothing changed.

See Also:
Constant Field Values

FORMSHEET

private static final int FORMSHEET
The FormSheet changed.

See Also:
Constant Field Values

MENUSHEET

private static final int MENUSHEET
The MenuSheet changed.

See Also:
Constant Field Values

TRANSITION

private static final int TRANSITION
The transition was set.

See Also:
Constant Field Values
Constructor Detail

UIGate

public UIGate(FormSheet fs,
              MenuSheet ms)
Create a new UIGate.

Parameters:
fs - the FormSheet to be displayed. Can be null.
ms - the MenuSheet to be displayed. Can be null.
Method Detail

getLock

private final java.lang.Object getLock()
Return the monitor synchronizing access to the elements as well as a communications channel.


getNextTransition

public Transition getNextTransition(SaleProcess pOwner,
                                    User usr,
                                    boolean stay)
                             throws java.lang.InterruptedException
Returns the next Transition to jump to.

Specified by:
getNextTransition in interface Gate
Parameters:
pOwner - the process that entered the gate and triggered the method.
usr - the user currently active in the process' ProcessContext
Returns:
the Transition to be performed after leaving the gate.
Throws:
java.lang.InterruptedException - if an interrupt ocurred while at the gate.

setFormSheet

public void setFormSheet(FormSheet fs)
Set the FormSheet that is being displayed at this Gate.

Parameters:
fs - the new FormSheet

getFormSheet

public FormSheet getFormSheet()
get the FormSheet that is being displayed at this gate.

Returns:
the FormSheet

setMenuSheet

public void setMenuSheet(MenuSheet ms)
Set the MenuSheet that is being displayed at this gate.

Parameters:
ms - the MenuSheet.

getMenuSheet

public MenuSheet getMenuSheet()
get the MenuSheet that is being displayed at this gate.

Returns:
the MenuSheet

setNextTransition

public void setNextTransition(Transition tNext)
Set the transition that will leave this gate. This will leave the gate at once and enter the Transition. The transition may return to the gate.

Parameters:
tNext - the transition. Must not be null.