GraphListener.java
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 }