// Project: Patterns2 // Module: state // Source code file: SoldOutState.java // Use the State pattern to implement // the states of a gumball machine. package gumball; public class SoldOutState implements State { private GumballMachine gumballMachine; public SoldOutState( GumballMachine theMachine) { this.gumballMachine = theMachine; } public void insertQuarter() { System.out.println( "Inserted quarter. Machine empty: quarter rejected."); } public void turnCrank() { System.out.println( "Tried to turn crank. Must insert quarter to turn crank."); } public void takeGumball() { System.out.println( "Tried to take gumball. Machine empty: no gumball dispensed."); } public void refillMachine(int n) { System.out.println( "Gumball machine refilled with " + n + " gumballs."); gumballMachine.count = n; gumballMachine.setNoQuarterState(); } }