IBM WebSphere Multichannel Bank Transformation Toolkit Javadoc

com.ibm.btt.rcp.xui.automaton
Class BTTXUIState

java.lang.Object
  extended by com.ibm.btt.base.DSEHandler
      extended by com.ibm.btt.automaton.DSEState
          extended by com.ibm.btt.rcp.xui.automaton.BTTXUIState
All Implemented Interfaces:
State, Handler, IXUIEventListener, java.io.Externalizable, java.io.Serializable, java.util.EventListener, org.eclipse.swt.events.DisposeListener, org.eclipse.swt.internal.SWTEventListener

@ATTR(value={"context#String#IMPLIED","finalPage#String#IMPLIED"})
public class BTTXUIState
extends DSEState
implements IXUIEventListener, org.eclipse.swt.events.DisposeListener

This class represents a state for an XUI processor.

See Also:
Serialized Form

Nested Class Summary
(package private)  class BTTXUIState.XUIRunnable
           
 
Field Summary
(package private)  java.lang.Runnable openXUIRunnable
           
(package private)  BTTXUIState.XUIRunnable xuiFinalRunnable
           
protected  Semaphore xuiRepliedSemaphore
          Semaphore where the execution waits until the XUI raises an XUIEvent.
 
Fields inherited from class com.ibm.btt.automaton.DSEState
ABORT_PROCESS, actionHandlers, CHANGE_STATE, CONDITIONS, CONTINUE, DEFAULT_TYPE, done, ENTRY_ACTIONS, entryActionsTags, EXECUTE_ACTION_AND_CHANGESTATE, EXIT_ACTIONS, exitActionsTags, exitEventName, FINAL_TYPE, ignoreEntryActions, INITIAL_TYPE, name, PAGE_TYPE, pqThread, processor, runningModeFlag, sharedNotifiers, SKIP_ACTION, SKIP_ALL_ACTIONS, SKIP_CONDITIONS, SUBFLOW_TYPE, suspendedThread, SUSPENDTIME, tag, transitions, TRANSITIONS, type, TYPE, TYPE_ID_INFO, typeIdInfo
 
Constructor Summary
BTTXUIState()
           
 
Method Summary
 void activate()
          Activates an XUI state.
protected  void fireDSEChangeStateEvent(java.lang.String targetStateName, boolean ignoreEntryActionsFlag, boolean ignoreExitActionsFlag, java.lang.String transitionName)
          Dispatches a change state event with required information.
 void fireXUIReplyEvent()
          Signals the semaphore when the state's activate method is waiting for the XUI end.
 Context getContext()
          Get state context
 java.lang.String getFinalPage()
          Get final page path
 void handleXUIEvent(IXUIEventObject event)
          Signals the semaphore when the state's activate method is waiting for the XUI end.
 java.lang.Object initializeFrom(Tag aTag)
          This method begins by resetting the state attributes to null, so the state object can be reused, then the method uses the Tag of the current state to initialize a State with an Id, type, and the typeIdInfo.
 void setContext(Context context)
          Set state context
 void setFinalPage(java.lang.String finalPage)
          Set final page path
protected  void signalEvent()
          Creates and signals the event that the state processes.
 void widgetDisposed(org.eclipse.swt.events.DisposeEvent arg0)
          Make the thread go on when the view is closed and xuiRepliedSemaphore is not fired.
 
Methods inherited from class com.ibm.btt.automaton.DSEState
abort, addHandlersForAction, dispatchEvent, doEntryActions, doExitActions, externalizer, fireDSEChangeStateEvent, fireDSEChangeStateEvent, fireDSEChangeStateEvent, getEntryActions, getExitActions, getGuardConditionResult, getInstanceOfAction, getName, getProcessor, getTag, getTransitions, getType, getTypeIdInfo, isIgnoreEntryActions, isRunningModeFlag, processEventQueue, readExternal, readExternal, removeExternal, removeHandlersForAction, removeHandlersForAction, resume, setEntryActions, setExitActions, setIgnoreEntryActions, setName, setProcessor, setTag, setTransitions, setType, setTypeIdInfo, subscribeToShareNotifiers, suspend, terminate, toString, toStrings, toTags, unsubscribeToSharedNotifiers, writeExternal, writeExternal
 
Methods inherited from class com.ibm.btt.base.DSEHandler
handleEvent, handleEvent, stopHandlingEvent, stopHandlingEvent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.ibm.btt.base.Handler
handleEvent, handleEvent, stopHandlingEvent, stopHandlingEvent
 

Field Detail

xuiRepliedSemaphore

protected Semaphore xuiRepliedSemaphore
Semaphore where the execution waits until the XUI raises an XUIEvent.


openXUIRunnable

java.lang.Runnable openXUIRunnable

xuiFinalRunnable

BTTXUIState.XUIRunnable xuiFinalRunnable
Constructor Detail

BTTXUIState

public BTTXUIState()
Method Detail

initializeFrom

public java.lang.Object initializeFrom(Tag aTag)
                                throws java.io.IOException,
                                       DSEException
Description copied from class: DSEState
This method begins by resetting the state attributes to null, so the state object can be reused, then the method uses the Tag of the current state to initialize a State with an Id, type, and the typeIdInfo. Then the tag is searched for entryAction and transition subtags, putting the entryAction tags into a ector for later use, and instantiating the transitions into a hashtable of transitions. This method is an Externalizable interface method.

Specified by:
initializeFrom in interface State
Overrides:
initializeFrom in class DSEState
Parameters:
aTag - com.ibm.btt.base.Tag Contains the name and attributes of the object to be created.
Returns:
Object - An instance of DSEState.
Throws:
java.io.IOException - The object can not be created.
DSEException

activate

public void activate()
              throws DSEInvalidArgumentException,
                     DSEProcessorException
Activates an XUI state. The XUI must fire an event and this class listens for it. The event raised from the XUI must contain event information that is used to change the state.

This method waits until this event is received. It then tries to raise the event created from the information received from the XUI. The state processes this event and put it on the queue. Processing the event queue provokes a state change.

Specified by:
activate in interface State
Overrides:
activate in class DSEState
Throws:
DSEInvalidArgumentException
DSEProcessorException

fireXUIReplyEvent

public void fireXUIReplyEvent()
Signals the semaphore when the state's activate method is waiting for the XUI end.


handleXUIEvent

public void handleXUIEvent(IXUIEventObject event)
Signals the semaphore when the state's activate method is waiting for the XUI end. This method must get the name of the event that will be used to change state from the event received.

Specified by:
handleXUIEvent in interface IXUIEventListener
Parameters:
event - com.ibm.btt.rcp.xui.event.IXUIEventObject

signalEvent

protected void signalEvent()
                    throws DSEProcessorException
Creates and signals the event that the state processes. This method builds the event from event information received from the XUI. The constructed event is used to change the state.

Throws:
DSEProcessorException

fireDSEChangeStateEvent

protected void fireDSEChangeStateEvent(java.lang.String targetStateName,
                                       boolean ignoreEntryActionsFlag,
                                       boolean ignoreExitActionsFlag,
                                       java.lang.String transitionName)
                                throws DSEProcessorException
Dispatches a change state event with required information.

Parameters:
targetStateName - java.lang.String
ignoreEntryActionsFlag - boolean
ignoreExitActionsFlag - boolean
transitionName - java.lang.String
Throws:
DSEProcessorException

widgetDisposed

public void widgetDisposed(org.eclipse.swt.events.DisposeEvent arg0)
Make the thread go on when the view is closed and xuiRepliedSemaphore is not fired.

Specified by:
widgetDisposed in interface org.eclipse.swt.events.DisposeListener
Parameters:
arg0 - org.eclipse.swt.events.DisposeEvent

getContext

public Context getContext()
Get state context

Returns:

setContext

public void setContext(Context context)
Set state context

Parameters:
context -

getFinalPage

public java.lang.String getFinalPage()
Get final page path

Returns:

setFinalPage

public void setFinalPage(java.lang.String finalPage)
Set final page path

Parameters:
finalPage -

IBM WebSphere Multichannel Bank Transformation Toolkit Javadoc

(c) Copyright IBM Corporation 1998, 2010