// Project: Patterns2 // Module: Elevator // Source code file: FirstFloorState.java // Illustrates the State Pattern with two states. public class FirstFloorState implements State { private StateManager _sm; // A FirstFloorState object needs to know about // the state manager. public FirstFloorState(StateManager theStateManager) { _sm = theStateManager; } @Override public void pressFirstFloorButton( ) { System.out.println("Already on first floor."); } @Override public void pressSecondFloorButton( ) { System.out.println("Going to second floor."); _sm.setSecondFloor( ); } }