Package akka.testkit
Class TestFSMRef<S,D,T extends Actor>
- java.lang.Object
 - 
- akka.actor.LocalActorRef
 - 
- akka.testkit.TestActorRef<T>
 - 
- akka.testkit.TestFSMRef<S,D,T>
 
 
 
 
- 
public class TestFSMRef<S,D,T extends Actor> extends TestActorRef<T>
This is a specialized form of the TestActorRef with support for querying and setting the state of a FSM. Use a LoggingFSM with this class if you also need to inspect event traces.val fsm = TestFSMRef(new Actor with LoggingFSM[Int, Null] { override def logDepth = 12 startWith(1, null) when(1) { case Event("hello", _) => goto(2) } when(2) { case Event("world", _) => goto(1) } }) assert (fsm.stateName == 1) fsm ! "hallo" assert (fsm.stateName == 2) assert (fsm.underlyingActor.getLog == IndexedSeq(FSMLogEntry(1, null, "hallo")))- Since:
 - 1.2
 
 
- 
- 
Constructor Summary
Constructors Constructor Description TestFSMRef(ActorSystem system, Props props, ActorRef supervisor, java.lang.String name, scala.$less$colon$less<T,FSM<S,D>> ev) 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <S,D,T extends Actor>
TestFSMRef<S,D,T>apply(scala.Function0<T> factory, ActorRef supervisor, java.lang.String name, scala.reflect.ClassTag<T> evidence$3, scala.$less$colon$less<T,FSM<S,D>> ev, ActorSystem system)static <S,D,T extends Actor>
TestFSMRef<S,D,T>apply(scala.Function0<T> factory, ActorRef supervisor, scala.reflect.ClassTag<T> evidence$4, scala.$less$colon$less<T,FSM<S,D>> ev, ActorSystem system)static <S,D,T extends Actor>
TestFSMRef<S,D,T>apply(scala.Function0<T> factory, java.lang.String name, scala.reflect.ClassTag<T> evidence$2, scala.$less$colon$less<T,FSM<S,D>> ev, ActorSystem system)static <S,D,T extends Actor>
TestFSMRef<S,D,T>apply(scala.Function0<T> factory, scala.reflect.ClassTag<T> evidence$1, scala.$less$colon$less<T,FSM<S,D>> ev, ActorSystem system)voidcancelTimer(java.lang.String name)Proxy forFSM.cancelTimer(java.lang.String).booleanisStateTimerActive()Proxy forFSM.isStateTimerActive().booleanisTimerActive(java.lang.String name)Proxy forFSM.isStateTimerActive().voidsetState(S stateName, D stateData, scala.concurrent.duration.FiniteDuration timeout, scala.Option<FSM.Reason> stopReason)Change FSM state; any value left out defaults to the current FSM state (timeout defaults to None).SsetState$default$1()DsetState$default$2()scala.concurrent.duration.FiniteDurationsetState$default$3()scala.Option<FSM.Reason>setState$default$4()voidsetTimer(java.lang.String name, java.lang.Object msg, scala.concurrent.duration.FiniteDuration timeout, boolean repeat)Deprecated.Use startTimerWithFixedDelay or startTimerAtFixedRate instead.booleansetTimer$default$4()voidstartSingleTimer(java.lang.String name, java.lang.Object msg, scala.concurrent.duration.FiniteDuration delay)voidstartTimerAtFixedRate(java.lang.String name, java.lang.Object msg, scala.concurrent.duration.FiniteDuration interval)voidstartTimerWithFixedDelay(java.lang.String name, java.lang.Object msg, scala.concurrent.duration.FiniteDuration delay)DstateData()Get current state data of this FSM.SstateName()Get current state name of this FSM. 
 - 
 
- 
- 
Method Detail
- 
apply
public static <S,D,T extends Actor> TestFSMRef<S,D,T> apply(scala.Function0<T> factory, scala.reflect.ClassTag<T> evidence$1, scala.$less$colon$less<T,FSM<S,D>> ev, ActorSystem system)
 
- 
apply
public static <S,D,T extends Actor> TestFSMRef<S,D,T> apply(scala.Function0<T> factory, java.lang.String name, scala.reflect.ClassTag<T> evidence$2, scala.$less$colon$less<T,FSM<S,D>> ev, ActorSystem system)
 
- 
apply
public static <S,D,T extends Actor> TestFSMRef<S,D,T> apply(scala.Function0<T> factory, ActorRef supervisor, java.lang.String name, scala.reflect.ClassTag<T> evidence$3, scala.$less$colon$less<T,FSM<S,D>> ev, ActorSystem system)
 
- 
apply
public static <S,D,T extends Actor> TestFSMRef<S,D,T> apply(scala.Function0<T> factory, ActorRef supervisor, scala.reflect.ClassTag<T> evidence$4, scala.$less$colon$less<T,FSM<S,D>> ev, ActorSystem system)
 
- 
stateName
public S stateName()
Get current state name of this FSM. 
- 
stateData
public D stateData()
Get current state data of this FSM. 
- 
setState
public void setState(S stateName, D stateData, scala.concurrent.duration.FiniteDuration timeout, scala.Option<FSM.Reason> stopReason)
Change FSM state; any value left out defaults to the current FSM state (timeout defaults to None). This method is directly equivalent to a corresponding transition initiated from within the FSM, including timeout and stop handling. 
- 
setState$default$1
public S setState$default$1()
 
- 
setState$default$2
public D setState$default$2()
 
- 
setState$default$3
public scala.concurrent.duration.FiniteDuration setState$default$3()
 
- 
setState$default$4
public scala.Option<FSM.Reason> setState$default$4()
 
- 
startTimerWithFixedDelay
public void startTimerWithFixedDelay(java.lang.String name, java.lang.Object msg, scala.concurrent.duration.FiniteDuration delay) 
- 
startTimerAtFixedRate
public void startTimerAtFixedRate(java.lang.String name, java.lang.Object msg, scala.concurrent.duration.FiniteDuration interval) 
- 
startSingleTimer
public void startSingleTimer(java.lang.String name, java.lang.Object msg, scala.concurrent.duration.FiniteDuration delay) 
- 
setTimer
public void setTimer(java.lang.String name, java.lang.Object msg, scala.concurrent.duration.FiniteDuration timeout, boolean repeat)Deprecated.Use startTimerWithFixedDelay or startTimerAtFixedRate instead. This has the same semantics as startTimerAtFixedRate, but startTimerWithFixedDelay is often preferred. Since 2.6.0. 
- 
setTimer$default$4
public boolean setTimer$default$4()
 
- 
cancelTimer
public void cancelTimer(java.lang.String name)
Proxy forFSM.cancelTimer(java.lang.String). 
- 
isTimerActive
public boolean isTimerActive(java.lang.String name)
Proxy forFSM.isStateTimerActive(). 
- 
isStateTimerActive
public boolean isStateTimerActive()
Proxy forFSM.isStateTimerActive(). 
 - 
 
 -