newCynic
Class DriverState

java.lang.Object
  |
  +--newCynic.DriverState
Direct Known Subclasses:
DriverState.DriverState0, DriverState.DriverState1, DriverState.DriverState2, DriverState.DriverState3

public abstract class DriverState
extends java.lang.Object

Общий класс состояния для объекта "Водитель"


Nested Class Summary
private static class DriverState.DriverState0
          Класс, реализующий состояние 0 автомата "Водитель"
private static class DriverState.DriverState1
          Класс, реализующий состояние 1 автомата "Водитель"
private static class DriverState.DriverState2
          Класс, реализующий состояние 2 автомата "Водитель"
private static class DriverState.DriverState3
          Класс, реализующий состояние 3 автомата "Водитель"
 
Field Summary
private  java.lang.String _stateName
          Имя состояния, используется для протоколирования
private static DriverState STATE_0_PENDULUM
          Состояние 0 -- траектория "Маятник".
private static DriverState STATE_1_ARC
          Состояние 1 -- траектория "Дуга".
private static DriverState STATE_2_DIGRESSION
          Состояние 2 -- траектория "Уклонение".
private static DriverState STATE_3_FINISH
          Состояние 3 -- траектория "Останов" (конец раунда).
 
Constructor Summary
protected DriverState(java.lang.String aStateName)
          Конструктор, вызываемый подклассами.
 
Method Summary
private static void changeState(DriverState aNewState, Driver aDriver)
          Смена состояния автомата, управляющего объектом.
private static void doEndLogging(int aEvent, Driver aDriver)
          Протоколирование для объекта -- конец протоколирования.
private static void doStartLogging(int aEvent, Driver aDriver)
          Протоколирование для объекта -- начало протоколирования.
 java.lang.String getName()
          Метод, возвращающий имя состояния.
abstract  void onEnter(Driver aDriver)
          Метод, выполняющий действия на входе в данное состояние.
abstract  void processEvent(int aEvent, Driver aDriver)
          Метод, обрабатывающий событие.
static void processIncomingEvent(int aEvent, Driver aDriver)
          Статический метод, осуществляющий обработку события aEvent объектом aDriver.
static void reset(Driver aDriver)
          Статический метод, инициализирующий данный управляемый объект (Перевод управляющего автомата в начальное состояние).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_stateName

private java.lang.String _stateName
Имя состояния, используется для протоколирования


STATE_0_PENDULUM

private static final DriverState STATE_0_PENDULUM
Состояние 0 -- траектория "Маятник".


STATE_1_ARC

private static final DriverState STATE_1_ARC
Состояние 1 -- траектория "Дуга".


STATE_2_DIGRESSION

private static final DriverState STATE_2_DIGRESSION
Состояние 2 -- траектория "Уклонение".


STATE_3_FINISH

private static final DriverState STATE_3_FINISH
Состояние 3 -- траектория "Останов" (конец раунда).

Constructor Detail

DriverState

protected DriverState(java.lang.String aStateName)
Конструктор, вызываемый подклассами. Делает обязательным указание имени состояния.

Method Detail

getName

public java.lang.String getName()
Метод, возвращающий имя состояния.


processEvent

public abstract void processEvent(int aEvent,
                                  Driver aDriver)
Метод, обрабатывающий событие. Каждый из подклассов должен переопределить его в соостветствии с графом переходов.


onEnter

public abstract void onEnter(Driver aDriver)
Метод, выполняющий действия на входе в данное состояние. Дожен быть переопределен каждым из подклассов в соответствии с графом переходов.


reset

public static void reset(Driver aDriver)
Статический метод, инициализирующий данный управляемый объект (Перевод управляющего автомата в начальное состояние).


doStartLogging

private static void doStartLogging(int aEvent,
                                   Driver aDriver)
Протоколирование для объекта -- начало протоколирования.


doEndLogging

private static void doEndLogging(int aEvent,
                                 Driver aDriver)
Протоколирование для объекта -- конец протоколирования.


changeState

private static void changeState(DriverState aNewState,
                                Driver aDriver)
Смена состояния автомата, управляющего объектом.


processIncomingEvent

public static void processIncomingEvent(int aEvent,
                                        Driver aDriver)
Статический метод, осуществляющий обработку события aEvent объектом aDriver. Сюда также включено все протоколирование.