|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectakka.japi.pf.FSMStateFunctionBuilder<S,D>
S - the state typeD - the data type
This is an EXPERIMENTAL feature and is subject to change until it has received more real world testing.public class FSMStateFunctionBuilder<S,D>
Builder used to create a partial function for FSM.whenUnhandled(scala.PartialFunction.
>)
| Constructor Summary | |
|---|---|
FSMStateFunctionBuilder()
|
|
| Method Summary | ||
|---|---|---|
FSMStateFunctionBuilder<S,D> |
anyEvent(FI.Apply2<java.lang.Object,D,FSM.State<S,D>> apply)
Add a case statement that matches on any type of event. |
|
scala.PartialFunction<FSM.Event<D>,FSM.State<S,D>> |
build()
Build a PartialFunction from this builder. |
|
|
event(java.lang.Class<P> eventType,
java.lang.Class<Q> dataType,
FI.Apply2<P,Q,FSM.State<S,D>> apply)
Add a case statement that matches on an event and data type. |
|
|
event(java.lang.Class<P> eventType,
java.lang.Class<Q> dataType,
FI.TypedPredicate2<P,Q> predicate,
FI.Apply2<P,Q,FSM.State<S,D>> apply)
Add a case statement that matches on an event and data type and a predicate. |
|
|
event(java.lang.Class<P> eventType,
FI.Apply2<P,D,FSM.State<S,D>> apply)
Add a case statement that matches if the event type and predicate matches. |
|
|
event(java.lang.Class<P> eventType,
FI.TypedPredicate2<P,D> predicate,
FI.Apply2<P,D,FSM.State<S,D>> apply)
Add a case statement that matches if the event type and predicate matches. |
|
FSMStateFunctionBuilder<S,D> |
event(FI.TypedPredicate2<java.lang.Object,D> predicate,
FI.Apply2<java.lang.Object,D,FSM.State<S,D>> apply)
Add a case statement that matches if the predicate matches. |
|
|
event(java.util.List<java.lang.Object> eventMatches,
java.lang.Class<Q> dataType,
FI.Apply2<java.lang.Object,Q,FSM.State<S,D>> apply)
Add a case statement that matches on the data type and if any of the event types in the list match or any of the event instances in the list compares equal. |
|
FSMStateFunctionBuilder<S,D> |
event(java.util.List<java.lang.Object> eventMatches,
FI.Apply2<java.lang.Object,D,FSM.State<S,D>> apply)
Add a case statement that matches if any of the event types in the list match or any of the event instances in the list compares equal. |
|
|
eventEquals(P event,
java.lang.Class<Q> dataType,
FI.Apply2<P,Q,FSM.State<S,D>> apply)
Add a case statement that matches on the data type and if the event compares equal. |
|
|
eventEquals(P event,
FI.Apply2<P,D,FSM.State<S,D>> apply)
Add a case statement that matches if event compares equal. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public FSMStateFunctionBuilder()
| Method Detail |
|---|
public final <P,Q> FSMStateFunctionBuilder<S,D> event(java.lang.Class<P> eventType,
java.lang.Class<Q> dataType,
FI.TypedPredicate2<P,Q> predicate,
FI.Apply2<P,Q,FSM.State<S,D>> apply)
P - the event type to match onQ - the data type to match oneventType - the event type to match ondataType - the data type to match onpredicate - a predicate to evaluate on the matched typesapply - an action to apply to the event and state data if there is a match
public <P,Q> FSMStateFunctionBuilder<S,D> event(java.lang.Class<P> eventType,
java.lang.Class<Q> dataType,
FI.Apply2<P,Q,FSM.State<S,D>> apply)
P - the event type to match onQ - the data type to match oneventType - the event type to match ondataType - the data type to match onapply - an action to apply to the event and state data if there is a match
public <P> FSMStateFunctionBuilder<S,D> event(java.lang.Class<P> eventType,
FI.TypedPredicate2<P,D> predicate,
FI.Apply2<P,D,FSM.State<S,D>> apply)
eventType - the event type to match onpredicate - a predicate that will be evaluated on the data and the eventapply - an action to apply to the event and state data if there is a match
public <P> FSMStateFunctionBuilder<S,D> event(java.lang.Class<P> eventType,
FI.Apply2<P,D,FSM.State<S,D>> apply)
eventType - the event type to match onapply - an action to apply to the event and state data if there is a match
public FSMStateFunctionBuilder<S,D> event(FI.TypedPredicate2<java.lang.Object,D> predicate,
FI.Apply2<java.lang.Object,D,FSM.State<S,D>> apply)
predicate - a predicate that will be evaluated on the data and the eventapply - an action to apply to the event and state data if there is a match
public <Q> FSMStateFunctionBuilder<S,D> event(java.util.List<java.lang.Object> eventMatches,
java.lang.Class<Q> dataType,
FI.Apply2<java.lang.Object,Q,FSM.State<S,D>> apply)
Q - the data type to match oneventMatches - a list of types or instances to match againstdataType - the data type to match onapply - an action to apply to the event and state data if there is a match
public FSMStateFunctionBuilder<S,D> event(java.util.List<java.lang.Object> eventMatches,
FI.Apply2<java.lang.Object,D,FSM.State<S,D>> apply)
eventMatches - a list of types or instances to match againstapply - an action to apply to the event and state data if there is a match
public <P,Q> FSMStateFunctionBuilder<S,D> eventEquals(P event,
java.lang.Class<Q> dataType,
FI.Apply2<P,Q,FSM.State<S,D>> apply)
Q - the data type to match onevent - an event to compare equal againstdataType - the data type to match onapply - an action to apply to the event and state data if there is a match
public <P> FSMStateFunctionBuilder<S,D> eventEquals(P event,
FI.Apply2<P,D,FSM.State<S,D>> apply)
event - an event to compare equal againstapply - an action to apply to the event and state data if there is a match
public FSMStateFunctionBuilder<S,D> anyEvent(FI.Apply2<java.lang.Object,D,FSM.State<S,D>> apply)
apply - an action to apply to the event and state data
public scala.PartialFunction<FSM.Event<D>,FSM.State<S,D>> build()
PartialFunction from this builder.
After this call the builder will be reset.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||