public void addTransition(Transition transition) { if (!transitions.isEmpty() && !transition.getS().equals(transitions.get(transitions.size() - 1).getsPrime())) { throw new RuntimeException( "Cannot add transition. Initial state is not the same as final state of previous transition"); } if (allStates.isEmpty()) { allStates.add(transition.getS()); } transitions.add(transition); allStates.add(transition.getsPrime()); }
@Override public String toString() { StringBuilder sb = new StringBuilder(); for (int i = 0; i < transitions.size(); i++) { Transition t = transitions.get(i); if (i == 0) { sb.append(t.getS()); } sb.append("->"); sb.append(t.getsPrime()); } return sb.toString(); }
public void initAllStates() { for (Transition transition : transitions) { allStates.add(transition.getS()); } allStates.add(transitions.get(transitions.size() - 1).getsPrime()); }