Interface State

All Known Implementing Classes:
CellState, ElevatorState, VisitorState

public interface State
The state contains the internal information of an AbstractAgent.

Marker interface. A state serves to decouple logic and data. It should bundle all necessary information of an agent. It should support persistence in a way that the complete model state is saved when all states are saved.

An implementing class should only contain variables, getter and setter methods - no other methods or logic functions.

A state may also implement an observer pattern or java bean functionality to gain insight of the state during a simulation run.

Note: a state can also be used by domains or other classes to bundle variables and facilitate persistence.