/*
 * Created on 04.04.2005
 *
 * $Id: Ampel.java,v 1.1 2005/06/24 13:56:06 boehm Exp $
 */
package verkehrs;

import java.util.*;

public class Ampel extends Observable {
    
    private enum AmpelFarbe { ROT, GRUEN }
    private AmpelFarbe farbe = AmpelFarbe.ROT;

    public void nextState() {
        System.out.print("Ampel springt von " + farbe.name());
        if (farbe ==AmpelFarbe.ROT) {
            farbe = AmpelFarbe.GRUEN;
        } else {
            farbe = AmpelFarbe.ROT;
        }
        System.out.println(" auf " + farbe.name());
        wakeupObservers();
    }

    private void wakeupObservers() {
        super.setChanged();
        super.notifyObservers();
    }
    
    public boolean isRot() {
        return farbe == AmpelFarbe.ROT;
    }
    
    public boolean isGruen() {
        return farbe == AmpelFarbe.GRUEN;
    }

}
