Actions often invoke methods on plain Java objects. When called from action-states and decision-states, these method return values can be used to drive state transitions. Since transitions are triggered by events, a method return value must first be mapped to an Event object. The following table describes how common return value types are mapped to Event objects:
Table 5.1. Action method return value to event id mappings
| Method return type | Mapped Event identifier expression | 
|---|---|
| java.lang.String | the String value | 
| java.lang.Boolean | yes (for true), no (for false) | 
| java.lang.Enum | the Enum name | 
| any other type | success | 
This is illustrated in the example action state below, which invokes a method that returns a boolean value:
<action-state id="moreAnswersNeeded"> <evaluate expression="interview.moreAnswersNeeded()" /> <transition on="yes" to="answerQuestions" /> <transition on="no" to="finish" /> </action-state>