ITrafficLightCtrlStatemachine.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package traffic.light.trafficlightctrl;
  2. import java.util.List;
  3. import traffic.light.IStatemachine;
  4. import traffic.light.ITimerCallback;
  5. public interface ITrafficLightCtrlStatemachine extends ITimerCallback,IStatemachine {
  6. public interface SCInterface {
  7. public void raisePolice_interrupt();
  8. public void raiseToggle();
  9. }
  10. public SCInterface getSCInterface();
  11. public interface SCITrafficLight {
  12. public boolean isRaisedDisplayRed();
  13. public boolean isRaisedDisplayGreen();
  14. public boolean isRaisedDisplayYellow();
  15. public boolean isRaisedDisplayNone();
  16. public List<SCITrafficLightListener> getListeners();
  17. }
  18. public interface SCITrafficLightListener {
  19. public void onDisplayRedRaised();
  20. public void onDisplayGreenRaised();
  21. public void onDisplayYellowRaised();
  22. public void onDisplayNoneRaised();
  23. }
  24. public SCITrafficLight getSCITrafficLight();
  25. public interface SCITimer {
  26. public boolean isRaisedUpdateTimerColour();
  27. public String getUpdateTimerColourValue();
  28. public boolean isRaisedUpdateTimerValue();
  29. public long getUpdateTimerValueValue();
  30. public List<SCITimerListener> getListeners();
  31. }
  32. public interface SCITimerListener {
  33. public void onUpdateTimerColourRaised(String value);
  34. public void onUpdateTimerValueRaised(long value);
  35. }
  36. public SCITimer getSCITimer();
  37. }