uk.gov.hmrc.play.fsm

# PersistentJourneyService

###
Related Doc: package fsm

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

This trait enhances JourneyService with StateAndBreadcrumbs persistence abstractions.

Linear Supertypes
JourneyService[RequestContext], AnyRef, Any
Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. PersistentJourneyService
2. JourneyService
3. AnyRef
4. Any

1. Hide All
2. Show All

Visibility

1. Public
2. All

### Type Members

1. #### type Breadcrumbs = List[State]

   Definition Classes
     JourneyService

2. #### type StateAndBreadcrumbs = (State, Breadcrumbs)

   Definition Classes
     JourneyService

### Abstract Value Members

1. #### abstract def fetch(implicit rc: RequestContext, ec: ExecutionContext): Future[Option[StateAndBreadcrumbs]]

   Attributes
     protected

2. #### abstract val journeyKey: String

   Definition Classes
     JourneyService

3. #### abstract val model: JourneyModel

   Definition Classes
     JourneyService

4. #### abstract def save(state: StateAndBreadcrumbs)(implicit rc: RequestContext, ec: ExecutionContext): Future[StateAndBreadcrumbs]

   Attributes
     protected

### Concrete Value Members

1. #### final def !=(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

4. #### def apply(transition: Transition)(implicit rc: RequestContext, ec: ExecutionContext): Future[StateAndBreadcrumbs]

   Applies transition to the current state and returns new state or error

   Applies transition to the current state and returns new state or error

   Definition Classes
     PersistentJourneyService → JourneyService

5. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

6. #### val breadcrumbsRetentionStrategy: (Breadcrumbs) ⇒ Breadcrumbs

   Default retention strategy is to keep all visited states.

   Default retention strategy is to keep all visited states. Override to provide your own strategy.

7. #### def cleanBreadcrumbs(filter: (Breadcrumbs) ⇒ Breadcrumbs = _ => Nil)(implicit rc: RequestContext, ec: ExecutionContext): Future[Breadcrumbs]

   Cleans breadcrumbs from the session and returns removed list

   Cleans breadcrumbs from the session and returns removed list

   Definition Classes
     PersistentJourneyService → JourneyService

8. #### def clear(implicit rc: RequestContext, ec: ExecutionContext): Future[Unit]

   Should clear state and breadcrumbs.

   Should clear state and breadcrumbs. Default implementation does nothing. Override to make the desired effect in your persistence layer of choice. Put here to enable an interaction between controller and persistence layers.

9. #### def clone(): AnyRef

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )

10. #### def currentState(implicit rc: RequestContext, ec: ExecutionContext): Future[Option[StateAndBreadcrumbs]]

    Returns current state (if any) and breadcrumbs

    Returns current state (if any) and breadcrumbs

    Definition Classes
      PersistentJourneyService → JourneyService

11. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

12. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

13. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

14. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

15. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

16. #### def initialState(implicit rc: RequestContext, ec: ExecutionContext): Future[State]

    Returns initial state found in breadcrumbs or the root state if breadcrumbs are empty

    Returns initial state found in breadcrumbs or the root state if breadcrumbs are empty

    Definition Classes
      PersistentJourneyService → JourneyService

17. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

18. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

19. #### final def notify(): Unit

    Definition Classes
      AnyRef

20. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

21. #### def stepBack(implicit rc: RequestContext, ec: ExecutionContext): Future[Option[StateAndBreadcrumbs]]

    Steps back to previous state and breadcrumbs (if any)

    Steps back to previous state and breadcrumbs (if any)

    Definition Classes
      PersistentJourneyService → JourneyService

22. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

23. #### def toString(): String

    Definition Classes
      AnyRef → Any

24. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

25. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

26. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

### Inherited from JourneyService[RequestContext]

### Inherited from AnyRef

### Inherited from Any

### Ungrouped