uk.gov.hmrc.play

# fsm

#### package fsm

Visibility

1. Public
2. All

### Type Members

1. #### trait HeaderCarrierProvider extends AnyRef

2. #### trait JourneyController extends HeaderCarrierProvider

   Base controller for journeys based on Finite State Machine.

   Base controller for journeys based on Finite State Machine.

   Provides 2 main extension points:

   - getCallFor: what is the endpoint representing given state
   - renderState: how to render given state

   and action creation helpers:

   - action
   - actionShowState
   - actionShowStateWhenAuthorised

   and async result functions:

   - showState
   - showStateWhenAuthorised
   - whenAuthorised
   - whenAuthorisedWithForm
   - whenAuthorisedWithBootstrapAndForm
   - bindForm

3. #### trait JourneyIdSupport extends AnyRef

4. #### trait JourneyModel extends AnyRef

   JourneyModel is an abstract base of a process diagram definition in terms of Finite State Machine pattern.

   JourneyModel is an abstract base of a process diagram definition in terms of Finite State Machine pattern.

   See also

     https://brilliant.org/wiki/finite-state-machines/

5. #### trait JourneyService extends AnyRef

   JourneyService is an abstract base of components exposing journey to the application (controller)

6. #### trait JsonStateFormats[State] extends AnyRef

   Utility to generate Play JSON Format for multi-value State

   Utility to generate Play JSON Format for multi-value State

   State

     state values base type

7. #### trait PersistentJourneyService extends JourneyService

   This trait enhances JourneyService with StateAndBreadcrumbs persistence abstractions.

### Value Members

1. #### object OptionalFormOps

### Ungrouped