uk.gov.hmrc.play

# fsm

#### package fsm

Visibility

1. Public
2. All

### Type Members

1. #### trait JourneyController[RequestContext] extends AnyRef

   Controller mixin for journeys implementing Finite State Machine.

   Controller mixin for journeys implementing Finite State Machine. Provides rich set of `actions.` DSL.

   Final controller class should override four extension points:

   - getCallFor: mapping of states to endpoints
   - renderState: mapping of states to views
   - context: custom request context to carry over to the service layer
   - withValidRequest: http request interceptor and validator

   Consider using together with JourneyIdSupport.

2. #### trait JourneyIdSupport[RequestContext] extends AnyRef

3. #### trait JourneyModel extends AnyRef

   Journey Model is a base trait of a Finite State Machine, consisting of states and transitions modelling the logic of the business process flow.

4. #### trait JourneyService[RequestContext] extends AnyRef

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

5. #### 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

6. #### trait PersistentJourneyService[RequestContext] extends JourneyService[RequestContext]

   This trait enhances JourneyService with StateAndBreadcrumbs persistence abstractions.

### Value Members

1. #### object OptionalFormOps

   Extension methods for Option[Form[_]].

2. #### object ScheduleAfter extends FutureTimeoutSupport

### Ungrouped