org.apache.shale.dialog.basic.model
Interface Dialog

All Known Implementing Classes:
DialogImpl

public interface Dialog

Overall configuration of an individual dialog. During application execution, this information is immutable (so that simultaneous execution threads may be processing states or transitions through this dialog). Therefore, access to configuration information is not synchronized.

A Dialog is characterized by a set of named States, which are executed in an order that is determined by Transitions between those States. Execution of a Dialog begins at the State specified by the start property, and ends when an EndState is executed.

Transitions describe the rule that determines the name of the next State to be executed, based upon a logical outcome returned by the execution of a previous State. Transitions associated with a Dialog define dialog-wide rules for specified outcomes, while Transitions associated with a particular State can replace the global Transition that would normally be selected with one specific to the executing State.

Since:
1.0.4

Method Summary
 State findState(String id)
          Return the specified State, owned by this Dialog, if any.
 Transition findTransition(String outcome)
          Return the global Transition for the specified logical outcome, if any; otherwise, return null.
 Class getDataClass()
          Return the class of a JavaBean to be instantiated as the initial value of the data property of a newly instantiated DialogContext.
 String getName()
          Return the name of this Dialog.
 String getStart()
          Return the name of the starting State for this Dialog.
 Iterator getStateIds()
          Return an Iterator over the names of States that are owned by this Dialog.
 Iterator getTransitionOutcomes()
          Return an Iterator over the logical outcomes of global Transitions for this Dialog.
 

Method Detail

getDataClass

Class getDataClass()

Return the class of a JavaBean to be instantiated as the initial value of the data property of a newly instantiated DialogContext.

If not explicitly specified in the configuration metadata, this should default to java.util.HashMap to provide convenient name/value pair storage.

IMPLEMENTATION NOTE - Because the data object of DialogContext instances is stored in session scope, the Class specified here should be serializable.

Returns:
The JavaBean class whose instance becomes the data property of a new instance of this dialog

getName

String getName()

Return the name of this Dialog.

Returns:
The name of this Dialog

getStart

String getStart()

Return the name of the starting State for this Dialog.

Returns:
The starting state associated with this Dialog

getStateIds

Iterator getStateIds()

Return an Iterator over the names of States that are owned by this Dialog. If there are no such States, an empty Iterator is returned.

Returns:
An Iterator over all the States in this Dialog

getTransitionOutcomes

Iterator getTransitionOutcomes()

Return an Iterator over the logical outcomes of global Transitions for this Dialog. If there are no such Transitions, an empty Iterator is returned.

Returns:
An Iterator over the logical outcomes of global Transitions for this Dialog

findState

State findState(String id)

Return the specified State, owned by this Dialog, if any. Otherwise, return null.

Parameters:
id - Identifier of the requested State
Returns:
The State specified by the identifier, may be null

findTransition

Transition findTransition(String outcome)

Return the global Transition for the specified logical outcome, if any; otherwise, return null.

Parameters:
outcome - Logical outcome for which to return a Transition
Returns:
The global Transition for the specified logical outcome


Copyright © 2004-2007 Apache Software Foundation. All Rights Reserved.