akka.actor
Interface LoggingFSM<S,D>

All Superinterfaces:
ActorLogging, FSM<S,D>, Listeners

public interface LoggingFSM<S,D>
extends FSM<S,D>

Stackable trait for FSM which adds a rolling event log and debug logging capabilities (analogous to LoggingReceive).

Since:
1.2

Nested Class Summary
 
Nested classes/interfaces inherited from interface akka.actor.FSM
FSM.$minus$greater$, FSM.CurrentState<S>, FSM.CurrentState$, FSM.Event, FSM.Event$, FSM.Failure, FSM.Failure$, FSM.LogEntry<S,D>, FSM.LogEntry$, FSM.Normal$, FSM.NullFunction$, FSM.Reason, FSM.Shutdown$, FSM.State<S,D>, FSM.State$, FSM.StateTimeout$, FSM.StopEvent, FSM.StopEvent$, FSM.SubscribeTransitionCallBack, FSM.SubscribeTransitionCallBack$, FSM.TransformHelper, FSM.Transition<S>, FSM.Transition$, FSM.UnsubscribeTransitionCallBack, FSM.UnsubscribeTransitionCallBack$
 
Method Summary
 void advance()
           
 boolean debugEvent()
           
 FSM.Event[] events()
           
 boolean full()
           
 scala.collection.IndexedSeq<FSM.LogEntry<S,D>> getLog()
          Retrieve current rolling log in oldest-first order.
 int logDepth()
           
 int pos()
           
 void processEvent(FSM.Event event, java.lang.Object source)
           
 java.lang.Object[] states()
           
 
Methods inherited from interface akka.actor.FSM
applyState, cancelTimer, currentState, generation, handleEvent, handleEventDefault, handleTransition, initialize, makeTransition, nextState, nextStateData, onTermination, onTransition, postStop, processMsg, receive, register, setStateTimeout, setTimer, startWith, stateData, stateFunctions, stateName, StateTimeout, stateTimeouts, stay, stop, stop, stop, terminate, terminateEvent, timeoutFuture, timerGen, timers, total2pf, transform, transitionEvent, when, whenUnhandled
 
Methods inherited from interface akka.routing.Listeners
gossip, listenerManagement, listeners
 
Methods inherited from interface akka.actor.ActorLogging
log
 

Method Detail

logDepth

int logDepth()

debugEvent

boolean debugEvent()
Specified by:
debugEvent in interface FSM<S,D>

events

FSM.Event[] events()

states

java.lang.Object[] states()

pos

int pos()

full

boolean full()

advance

void advance()

processEvent

void processEvent(FSM.Event event,
                  java.lang.Object source)
Specified by:
processEvent in interface FSM<S,D>

getLog

scala.collection.IndexedSeq<FSM.LogEntry<S,D>> getLog()
Retrieve current rolling log in oldest-first order. The log is filled with each incoming event before processing by the user supplied state handler. The log entries are lost when this actor is restarted.