私はアッカFSM "matchEvent" を理解しようとしています:アッカFSM matchEvent implemantation
public final <ET> FSMStateFunctionBuilder<S, D> matchEvent(Class<ET> eventType, TypedPredicate2<ET, D> predicate, Apply2<ET, D, State<S, D>> apply) {
return (new FSMStateFunctionBuilder()).event(eventType, predicate, apply);
}
私が見つけたこの何http://doc.akka.io/japi/akka/2.3.4/index.html?akka/actor/AbstractFSM.html で見た後:
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)
はcase文を追加していますイベントタイプと述語が と一致する場合に一致します。パラメータ:eventType - 述語で照合するイベント型 - データとイベントで評価される述語apply - 一致する場合にイベントと状態データに適用するアクション 戻り値:ケースを持つビルダー声明が追加されました
イベントの一致がどのように実装されているか教えてください。ドキュメントsimple exampleから抽出
http://doc.akka.io/docs/akka/2.4/java/lambda-fsm.htmlまたはhttp://doc.akka.io/docs/akka/2.4をご覧ください。 /java/fsm.html Java8を使用できるかどうかによって異なります。 ところで、akkaは2.4になりました。2.3 APIをチェックする理由は何ですか? –
私はJAVA 8を使用しています。私は最新のAPIを使用しています。リンクが2.3でない理由はありません。 – user2164744
http://doc.akka.io/docs/akka/2.4/java/で素晴らしい例があります。 lambda-fsm.html#A_Simple_Example ここでは、Java 8でAkka FSMを実装する方法の良い例があります –