01 /*
02 * Created on May 19, 2007
03 */
04 package com.x8ing.lsm4j;
05
06 import com.x8ing.lsm4j.state.ProcessableGraph;
07 import com.x8ing.lsm4j.state.ProcessableState;
08
09 /**
10 * Will be notified if something happens on the graph.
11 *
12 * The listener must be registred on the observeable graph. see: {@link ProcessableGraph#registerGraphListener(GraphListener)}
13 * <p>
14 * The usage of this interface is optional.
15 *
16 * @author Patrick Heusser
17 */
18 public interface GraphListener {
19
20 // TODO refactor order of params
21 public void startProcessingState(ProcessableState previousState, Condition previosCondition, long loop,StateContext currentStateContext);
22
23 /**
24 * The listener will be notified using this message, if the graph changed it's state. <br>
25 */
26 public void changedState(ProcessableState previousState, ProcessableState currentState, Condition previousCondition,
27 Condition currentCondition, long loop,StateContext currentStateContext);
28
29 // TODO check naming!!! for all..
30 public void foundEndState(ProcessableState endState, long loop, StateContext currentStateContext);
31
32 }
|