FSMState.java
01 package gate.creole.morph; 
02 
03 import java.util.ArrayList;
04 import java.util.List;
05 
06 public class FSMState {
07   private CharMap transitionFunction = new CharMap();
08   public static final byte CHILD_STATE = 0;
09   public static final byte ADJ_STATE = 1;
10   private int index = 0;
11   private List<RHS> rhses = new ArrayList<RHS>();
12   
13   public FSMState(int index) {
14     this.index = index;
15   }
16   
17   public int getIndex() {
18     return this.index;
19   }
20   
21   public FSMState next(char ch, byte type) {
22     return transitionFunction.get(ch, type);
23   }
24 
25   public void put(char chr, FSMState state, byte type) {
26     transitionFunction.put(chr, state, type);
27   }
28 
29   public List<RHS> getRHSes() {
30     return rhses;
31   }
32 
33   public void addRHS(RHS rhs) {
34     if(!rhses.contains(rhs))
35       rhses.add(rhs);
36   }
37 
38   public CharMap getTransitionFunction() {
39     return transitionFunction;
40   }
41 
42 }