IBM WebSphere Multichannel Bank Transformation Toolkit Javadoc

com.ibm.btt.automaton
Class DSEState

java.lang.Object
  extended by com.ibm.btt.base.BTTProcessorHandler
      extended by com.ibm.btt.automaton.DSEState
All Implemented Interfaces:
State, ProcessorHandler, java.io.Externalizable, java.io.Serializable
Direct Known Subclasses:
BTTXUIState, DSEHtmlState, DSEOperationState

public class DSEState
extends BTTProcessorHandler
implements State, Externalizable

Implementation of a state inside the automaton.

The State will start processing the eventQueue after the entryActions are done. Note that after a suspend, abort or terminate method is invoked, the State WILL finish processing the current event's actions before stopping. If it is waiting for an event from the queue, it will stop waiting and return.

A suspended state will be sleeping for a period of SUSPENDTIME until it checks for the RunningModeFlag again. It can be woken up by calling the resume() method. A suspended State will wake up and exit when terminate or abort is called.

See Also:
Serialized Form

Field Summary
static int ABORT_PROCESS
           
protected  Vector actionHandlers
           
static int CHANGE_STATE
           
static java.lang.String CONDITIONS
           
static int CONTINUE
           
static java.lang.String DEFAULT_TYPE
           
protected  boolean done
           
static java.lang.String ENTRY_ACTIONS
           
protected  Vector entryActionsTags
           
static int EXECUTE_ACTION_AND_CHANGESTATE
           
static java.lang.String EXIT_ACTIONS
           
protected  Vector exitActionsTags
           
protected  java.lang.String exitEventName
           
static java.lang.String FINAL_TYPE
           
protected  boolean ignoreEntryActions
           
static java.lang.String INITIAL_TYPE
           
protected  java.lang.String name
           
static java.lang.String PAGE_TYPE
           
protected  java.lang.Thread pqThread
           
protected  Processor processor
           
protected  boolean runningModeFlag
           
protected  Hashtable sharedNotifiers
           
static int SKIP_ACTION
           
static int SKIP_ALL_ACTIONS
           
static int SKIP_CONDITIONS
           
static java.lang.String SUBFLOW_TYPE
           
protected  java.lang.Thread suspendedThread
           
protected static int SUSPENDTIME
           
protected  Tag tag
           
protected  Hashtable transitions
           
static java.lang.String TRANSITIONS
           
protected  java.lang.String type
           
static java.lang.String TYPE
           
static java.lang.String TYPE_ID_INFO
           
protected  java.lang.String typeIdInfo
           
 
Constructor Summary
DSEState()
           
 
Method Summary
 void abort()
          Aborts the State.
 void activate()
          Activates the State.
protected  boolean addHandlersForAction(Action action, Vector triggers)
          A utility method that adds handlers to the supplied Action object, using event names from the supplied triggers.
 ProcessorHandler dispatchEvent(BTTProcessorEventObject anEvent)
          Puts the event anEvent into a processor's event queue.
protected  void doEntryActions(Vector otherTrigs)
          An internal routine for Activate() that executes the entryActions.
protected  void doExitActions()
          An internal routine for Activate() that executes the exitActions.
 Externalizer externalizer()
          This method gets the externalizer instance used to build.
protected  void fireDSEChangeStateEvent(java.lang.String targetStateName)
          Calls the other fireDSEChangeStateEvent(String, boolean), passing in the targetStateName, and the default false for the isIgnoreEntryActions flag.
protected  void fireDSEChangeStateEvent(java.lang.String targetStateName, java.lang.Boolean isIgnoreEntryActions)
          Fires the internal DSEChangeStateEvent with a hashtable containing the values for the targetStateName and isIgnoreEntryActions.
protected  void fireDSEChangeStateEvent(java.lang.String targetStateName, java.lang.Boolean isIgnoreEntryActions, java.lang.Boolean isIgnoreExitActions)
          Fires the internal DSEChangeStateEvent with a hashtable containing the values for the targetStateName, ignoreEntryActions and ignoreExitActions
 Vector getEntryActions()
          Returns the vector of entryActionsTags.
 Vector getExitActions()
          Returns the vector of exitActionsTags.
protected  int getGuardConditionResult(Action action, GuardCondition condition)
          Evaluates the guardcondition to true or false, and returns the appropriate constant int equavalent for the value of the flow modifier defined in the external file.
 Action getInstanceOfAction(Tag actionTag)
          Returns an instance of the action from Tag actionTag by calling convertTagToObject(), which in turn calls initializeFrom(Tag).
 java.lang.String getName()
          Returns the value of the State's name property.
 Processor getProcessor()
          Returns the value of the processor property.
 Tag getTag()
          Returns the value of the tag property.
 Hashtable getTransitions()
          Returns the value of the transitions property.
 java.lang.String getType()
          Returns the value of the State's type property.
 java.lang.String getTypeIdInfo()
          Returns the value of the State's typeIdInfo property.
 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.
 boolean isIgnoreEntryActions()
          Returns the value of the ignoreEntryActions flag.
 boolean isRunningModeFlag()
          Returns the value of the runningModeFlag property.
protected  void processEventQueue(Vector otherTrigs)
          An internal routine for Activate() Loops and processes the eventQueue: -gets an event out of the eventQueue -checks to see if the event is changeState (if so, executes the change) -gets the transitions for the event -loops the actions for those transitions -instantiates the Action -chains or assigns its context -registers the Automaton's interest in events fired by the Action (IF there are any events) by adding the current State to its handlerslist -loops through any conditions the action may have, instantiating and evaluating each condition one by one -executes the action the loop is on -removes the handler and event(s) from its list IF it registered the Automaton's interest -unchains its context IF it was chained -closes the action -lastly, changes to the next state (by adding a "changeState" event to the queue) IF there is nothing else to do in this state (i.e. no more event/transition pairs to cycle through this method) AND there is a targetState specified in the last transition
 void readExternal()
          This method will find the tag that corresponds to the name of THIS entity.
 void readExternal(java.io.ObjectInput in)
          Invokes the object creation from an ObjectInput.
 void removeExternal()
          Removes the Externalizer.
protected  boolean removeHandlersForAction(Action action)
          This method removes the DSEState and DSEEvent pair that was added to the action's handlerslist when the action was created.
protected  boolean removeHandlersForAction(Action action, Vector triggers)
          Deprecated. Replaced by removeHandlersForAction(Action).
 void resume()
          Method to resume the processor.
 void setEntryActions(Vector newEntryActions)
          Sets the value of the entryActions property.
 void setExitActions(Vector newExitActions)
          Sets the value of the exitActions property.
 void setIgnoreEntryActions(boolean newIgnoreEntryActions)
          Sets the value of the ignoreEntryActions flag.
 void setName(java.lang.String newName)
          Sets the value of the name property.
 void setProcessor(Processor newProcessor)
          Sets the value of the processor property.
 void setTag(Tag newTag)
          Sets the value of the tag property.
 void setTransitions(Hashtable newTransitions)
          Sets the value of the transitions property.
 void setType(java.lang.String newType)
          Sets the value of the type property.
 void setTypeIdInfo(java.lang.String newTypeIdInfo)
          Sets the value of the typeIdInfo property.
protected  Vector subscribeToShareNotifiers()
          A subroutine for Activate().
 void suspend()
          Suspends the State.
 void terminate()
          Provides a housekeeping process for the DSEState as a notifier instance.
 java.lang.String toString()
          Returns a String representing the state.
 Vector toStrings()
          Returns a Vector with the String representation of the object.
 Vector toTags()
          Returns a Vector with the object represented as a Tag.
protected  void unsubscribeToSharedNotifiers()
          Invoked to loop through the list of TransitionDescriptors and try to remove interest for the events generated by a Notifier or Service in the context.
 void writeExternal()
          Writes this instance (converted into tags) to a file.
 void writeExternal(java.io.ObjectOutput out)
          Provides concrete serialization handling for DSEState.
 
Methods inherited from class com.ibm.btt.base.BTTProcessorHandler
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.ProcessorHandler
handleEvent, handleEvent, stopHandlingEvent, stopHandlingEvent
 

Field Detail

runningModeFlag

protected boolean runningModeFlag

processor

protected Processor processor

entryActionsTags

protected Vector entryActionsTags

exitActionsTags

protected Vector exitActionsTags

name

protected java.lang.String name

transitions

protected Hashtable transitions

CONTINUE

public static final int CONTINUE
See Also:
Constant Field Values

SKIP_CONDITIONS

public static final int SKIP_CONDITIONS
See Also:
Constant Field Values

SKIP_ACTION

public static final int SKIP_ACTION
See Also:
Constant Field Values

SKIP_ALL_ACTIONS

public static final int SKIP_ALL_ACTIONS
See Also:
Constant Field Values

ABORT_PROCESS

public static final int ABORT_PROCESS
See Also:
Constant Field Values

CHANGE_STATE

public static final int CHANGE_STATE
See Also:
Constant Field Values

EXECUTE_ACTION_AND_CHANGESTATE

public static final int EXECUTE_ACTION_AND_CHANGESTATE
See Also:
Constant Field Values

tag

protected Tag tag

pqThread

protected java.lang.Thread pqThread

done

protected boolean done

suspendedThread

protected java.lang.Thread suspendedThread

SUSPENDTIME

protected static final int SUSPENDTIME
See Also:
Constant Field Values

ignoreEntryActions

protected boolean ignoreEntryActions

DEFAULT_TYPE

public static final java.lang.String DEFAULT_TYPE
See Also:
Constant Field Values

PAGE_TYPE

public static final java.lang.String PAGE_TYPE
See Also:
Constant Field Values

SUBFLOW_TYPE

public static final java.lang.String SUBFLOW_TYPE
See Also:
Constant Field Values

FINAL_TYPE

public static final java.lang.String FINAL_TYPE
See Also:
Constant Field Values

INITIAL_TYPE

public static final java.lang.String INITIAL_TYPE
See Also:
Constant Field Values

TYPE

public static final java.lang.String TYPE
See Also:
Constant Field Values

TYPE_ID_INFO

public static final java.lang.String TYPE_ID_INFO
See Also:
Constant Field Values

ENTRY_ACTIONS

public static final java.lang.String ENTRY_ACTIONS
See Also:
Constant Field Values

EXIT_ACTIONS

public static final java.lang.String EXIT_ACTIONS
See Also:
Constant Field Values

CONDITIONS

public static final java.lang.String CONDITIONS
See Also:
Constant Field Values

TRANSITIONS

public static final java.lang.String TRANSITIONS
See Also:
Constant Field Values

type

protected java.lang.String type

typeIdInfo

protected java.lang.String typeIdInfo

exitEventName

protected java.lang.String exitEventName

actionHandlers

protected Vector actionHandlers

sharedNotifiers

protected Hashtable sharedNotifiers
Constructor Detail

DSEState

public DSEState()
Method Detail

abort

public void abort()
           throws DSEProcessorException
Aborts the State. This means changing the runningMode flag to false and unsubscribing it from all events.

Specified by:
abort in interface State
Throws:
DSEProcessorException

activate

public void activate()
              throws DSEInvalidArgumentException,
                     DSEProcessorException
Activates the State. When a State is activated, it has to register interest in events that could be triggered in this state (this is done in three possible places/methods, depending on the source of the event: the subscribeToShareNotifiers(), doEntryActions(), or processEventQueue().) Before reaching the processEventQueue(), a trigger can be an event from the State's entryActions or from a Notifier or Service in the context. After reaching the processEventQueue(), an event can be triggered by an action.

When it is suspended, a State will sleep for a SUSPENDTIME so that it will not hog up CPU time. It can be awakened by resume(), abort() or terminate().

Specified by:
activate in interface State
Throws:
DSEInvalidArgumentException
DSEProcessorException

addHandlersForAction

protected boolean addHandlersForAction(Action action,
                                       Vector triggers)
A utility method that adds handlers to the supplied Action object, using event names from the supplied triggers. If handlers are added, this method returns true, else it returns false

Parameters:
action - com.ibm.btt.html.automaton.Action
triggers - java.util.Vector
Returns:
boolean

dispatchEvent

public ProcessorHandler dispatchEvent(BTTProcessorEventObject anEvent)
Puts the event anEvent into a processor's event queue.

anEvent contains relevant data to be used by the event handler held in a Hashtable, the source of the event and the event name. Any handler is responsible for implementing this method, to check if it is interested in the event and/or pass it to the next interested handler in the chain that is waiting for it.

If the method returns this, the notifier passes the event to the following handler in the chain waiting for it. If the method returns null, the event is not propagated.

The default event processing is to pass the event to the following handler.

Specified by:
dispatchEvent in interface ProcessorHandler
Overrides:
dispatchEvent in class BTTProcessorHandler
Parameters:
anEvent - BTTProcessorEventObject
Returns:
ProcessorHandler

doEntryActions

protected void doEntryActions(Vector otherTrigs)
                       throws DSEInvalidArgumentException,
                              DSEProcessorException
An internal routine for Activate() that executes the entryActions. Loops through the entryActions tags taking them out of the vector of otherTrigs (one at a time) and:

Parameters:
triggerList - com.ibm.btt.base.Vector
Throws:
DSEInvalidArgumentException
DSEProcessorException

doExitActions

protected void doExitActions()
                      throws DSEInvalidArgumentException,
                             DSEProcessorException
An internal routine for Activate() that executes the exitActions. Loops through the exitActionsTags taking them out of the vector of otherTrigs (one at a time) and:

externalizer

public Externalizer externalizer()
                          throws java.io.IOException
This method gets the externalizer instance used to build. This method is an Externalizable interface method.

Returns:
com.ibm.btt.base.Externalizer
Throws:
java.lang.IOException
java.io.IOException

fireDSEChangeStateEvent

protected void fireDSEChangeStateEvent(java.lang.String targetStateName)
                                throws DSEProcessorException
Calls the other fireDSEChangeStateEvent(String, boolean), passing in the targetStateName, and the default false for the isIgnoreEntryActions flag.

Parameters:
targetStateName - java.lang.String
Throws:
DSEProcessorException

fireDSEChangeStateEvent

protected void fireDSEChangeStateEvent(java.lang.String targetStateName,
                                       java.lang.Boolean isIgnoreEntryActions)
                                throws DSEProcessorException
Fires the internal DSEChangeStateEvent with a hashtable containing the values for the targetStateName and isIgnoreEntryActions.

Parameters:
targetStateName - java.lang.String
Throws:
DSEProcessorException

fireDSEChangeStateEvent

protected void fireDSEChangeStateEvent(java.lang.String targetStateName,
                                       java.lang.Boolean isIgnoreEntryActions,
                                       java.lang.Boolean isIgnoreExitActions)
                                throws DSEProcessorException
Fires the internal DSEChangeStateEvent with a hashtable containing the values for the targetStateName, ignoreEntryActions and ignoreExitActions

Parameters:
targetStateName - java.lang.String
isIgnoreEntryActions - java.lang.Boolean
isIgnoreExitActions - java.lang.Boolean
Throws:
DSEProcessorException

getEntryActions

public Vector getEntryActions()
Returns the vector of entryActionsTags.

Specified by:
getEntryActions in interface State
Returns:
com.ibm.btt.base.Vector

getExitActions

public Vector getExitActions()
Returns the vector of exitActionsTags.

Returns:
com.ibm.btt.base.Vector

getGuardConditionResult

protected int getGuardConditionResult(Action action,
                                      GuardCondition condition)
                               throws DSEProcessorException
Evaluates the guardcondition to true or false, and returns the appropriate constant int equavalent for the value of the flow modifier defined in the external file. The flow modifier constants and their int equavalents are defined in DSEState.

Parameters:
action - com.ibm.btt.automaton.Action
condition - com.ibm.btt.automaton.GuardCondition
Returns:
int
Throws:
com.ibm.btt.base.DSEProcessorException
DSEProcessorException

getInstanceOfAction

public Action getInstanceOfAction(Tag actionTag)
                           throws DSEProcessorException
Returns an instance of the action from Tag actionTag by calling convertTagToObject(), which in turn calls initializeFrom(Tag). Before returning the instantiation of the action object, this method sets the action's processor value with the Processor that this action belongs to.

Parameters:
actionTag - com.ibm.btt.base.Tag
Returns:
com.ibm.btt.automaton.Action
Throws:
DSEProcessorException

getName

public java.lang.String getName()
Returns the value of the State's name property.

Specified by:
getName in interface State
Returns:
java.lang.String

getProcessor

public Processor getProcessor()
Returns the value of the processor property.

Specified by:
getProcessor in interface State
Returns:
com.ibm.btt.automaton.Processor

getTag

public Tag getTag()
Returns the value of the tag property.

Returns:
com.ibm.btt.base.Tag

getTransitions

public Hashtable getTransitions()
Returns the value of the transitions property.

Specified by:
getTransitions in interface State
Returns:
com.ibm.btt.base.Hashtable

getType

public java.lang.String getType()
Returns the value of the State's type property.

Specified by:
getType in interface State
Returns:
java.lang.String

getTypeIdInfo

public java.lang.String getTypeIdInfo()
Returns the value of the State's typeIdInfo property.

Specified by:
getTypeIdInfo in interface State
Returns:
java.lang.String

initializeFrom

public java.lang.Object initializeFrom(Tag aTag)
                                throws java.io.IOException,
                                       DSEException
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
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

isIgnoreEntryActions

public boolean isIgnoreEntryActions()
Returns the value of the ignoreEntryActions flag.

Returns:
boolean

isRunningModeFlag

public boolean isRunningModeFlag()
Returns the value of the runningModeFlag property.

Returns:
boolean

processEventQueue

protected void processEventQueue(Vector otherTrigs)
                          throws DSEInvalidArgumentException,
                                 DSEProcessorException
An internal routine for Activate() Loops and processes the eventQueue: -gets an event out of the eventQueue -checks to see if the event is changeState (if so, executes the change) -gets the transitions for the event -loops the actions for those transitions -instantiates the Action -chains or assigns its context -registers the Automaton's interest in events fired by the Action (IF there are any events) by adding the current State to its handlerslist -loops through any conditions the action may have, instantiating and evaluating each condition one by one -executes the action the loop is on -removes the handler and event(s) from its list IF it registered the Automaton's interest -unchains its context IF it was chained -closes the action -lastly, changes to the next state (by adding a "changeState" event to the queue) IF there is nothing else to do in this state (i.e. no more event/transition pairs to cycle through this method) AND there is a targetState specified in the last transition

Parameters:
otherTrigs - com.ibm.btt.base.Vector
Throws:
DSEInvalidArgumentException
DSEProcessorException

readExternal

public void readExternal()
                  throws java.io.IOException
This method will find the tag that corresponds to the name of THIS entity. Then it will initialize THIS entity with the contents of the tag

Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Invokes the object creation from an ObjectInput.

Specified by:
readExternal in interface java.io.Externalizable
Parameters:
in - java.io.ObjectInput
Throws:
java.io.IOException
java.lang.ClassNotFoundException

removeExternal

public void removeExternal()
                    throws java.io.IOException
Removes the Externalizer. This method is an Externalizable interface method.

Throws:
java.lang.IOException
java.io.IOException

removeHandlersForAction

protected boolean removeHandlersForAction(Action action)
This method removes the DSEState and DSEEvent pair that was added to the action's handlerslist when the action was created.

Parameters:
action - com.ibm.btt.automaton.Action
triggers - java.util.Vector
Returns:
boolean

removeHandlersForAction

protected boolean removeHandlersForAction(Action action,
                                          Vector triggers)
Deprecated. Replaced by removeHandlersForAction(Action).

This method removes the DSEState and DSEEvent pair that was added to the action's handlerslist when the action was created.

Parameters:
action - com.ibm.btt.automaton.Action
triggers - com.ibm.btt.base.Vector
Returns:
boolean

resume

public void resume()
Method to resume the processor.

Specified by:
resume in interface State

setEntryActions

public void setEntryActions(Vector newEntryActions)
Sets the value of the entryActions property.

Specified by:
setEntryActions in interface State
Parameters:
newEntryActions - com.ibm.btt.base.Vector

setExitActions

public void setExitActions(Vector newExitActions)
Sets the value of the exitActions property.

Parameters:
newEntryActions - com.ibm.btt.base.Vector

setIgnoreEntryActions

public void setIgnoreEntryActions(boolean newIgnoreEntryActions)
Sets the value of the ignoreEntryActions flag.

Specified by:
setIgnoreEntryActions in interface State
Parameters:
newIgnoreEntryActions - boolean

setName

public void setName(java.lang.String newName)
Sets the value of the name property.

Specified by:
setName in interface State
Parameters:
newName - java.lang.String

setProcessor

public void setProcessor(Processor newProcessor)
Sets the value of the processor property.

Specified by:
setProcessor in interface State
Parameters:
newProcessor - com.ibm.btt.automaton.Processor

setTag

public void setTag(Tag newTag)
Sets the value of the tag property.

Parameters:
newTag - com.ibm.btt.base.Tag

setTransitions

public void setTransitions(Hashtable newTransitions)
Sets the value of the transitions property.

Specified by:
setTransitions in interface State
Parameters:
newTransitions - com.ibm.btt.base.Hashtable

setType

public void setType(java.lang.String newType)
Sets the value of the type property.

Specified by:
setType in interface State
Parameters:
newType - java.lang.String

setTypeIdInfo

public void setTypeIdInfo(java.lang.String newTypeIdInfo)
Sets the value of the typeIdInfo property.

Specified by:
setTypeIdInfo in interface State
Parameters:
newTypeIdInfo - java.lang.String

subscribeToShareNotifiers

protected Vector subscribeToShareNotifiers()
                                    throws DSEInvalidArgumentException
A subroutine for Activate(). This method is invoked to loop through the list of TransitionDescriptors, sorting the three sources of events into two categories: either a Notifier or Service in the context, or a DSEAction (either an entryAction or action). If the event source is in the context (i.e. it is either a Service or a Notifier), this method tries to register the Automaton's interest in the corresponding events by adding each event name along with the current DSEState as a handler, to that particular Notifier's handlerlist. If the source of an event is not from the context, it is assumed to be a DSEAction, which will have the event and the State added to its handlerlist when it is instantiated; for now it is just put into the vector of otherTrigs and returned.

Returns:
com.ibm.btt.base.Vector - a Vector of triggerNames (in the form of Notifier.EventName)
Throws:
DSEInvalidArgumentException

suspend

public void suspend()
Suspends the State.

Specified by:
suspend in interface State

terminate

public void terminate()
Provides a housekeeping process for the DSEState as a notifier instance. This is called either from the application or from the context when it is destroyed or unchained. The "runningModeFlag" and the "done" value are set to indicate that the State is finished, the potential threads this State could be in are interrupted, and the State unsubscribes from the shared notifiers. Subclasses should overwrite this implementation to perform the actions required to release the resources acquired by the notifier.

Specified by:
terminate in interface State

toString

public java.lang.String toString()
Returns a String representing the state.

Overrides:
toString in class java.lang.Object
Returns:
java.lang.String.

toStrings

public Vector toStrings()
Returns a Vector with the String representation of the object. This method is an Externalizable interface method.

Returns:
com.ibm.btt.base.Vector

toTags

public Vector toTags()
              throws java.io.IOException
Returns a Vector with the object represented as a Tag. This method is an Externalizable interface method.

Returns:
com.ibm.btt.base.Vector
Throws:
java.io.IOException

unsubscribeToSharedNotifiers

protected void unsubscribeToSharedNotifiers()
Invoked to loop through the list of TransitionDescriptors and try to remove interest for the events generated by a Notifier or Service in the context.


writeExternal

public void writeExternal()
                   throws java.io.IOException
Writes this instance (converted into tags) to a file. This method is an Externalizable interface method.

Throws:
java.io.IOException

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Provides concrete serialization handling for DSEState.

Specified by:
writeExternal in interface java.io.Externalizable
Parameters:
out - java.io.ObjectOutput
Throws:
java.io.IOException

IBM WebSphere Multichannel Bank Transformation Toolkit Javadoc

(c) Copyright IBM Corporation 1998, 2009