lehrbuch
Class Eimer

java.lang.Object
  extended by lehrbuch.Eimer
All Implemented Interfaces:
java.lang.Cloneable

public class Eimer
extends java.lang.Object
implements java.lang.Cloneable

Klasse zum Ausprägen. Vier Eimer können am Bildschirm dargestellt werden (Methode "anzeigen"). Für alle weiteren Objekte gibt es nur eine textuelle Anzeige (Methode "meldung"). Sie können (mit Getränk) gefüllt und entleert werden (Methoden "fuellen" und "entleeren"). Als Getränke stehen "Eimer.WASSER" und "Eimer.WEIN" zur Verfügung. (Weitere Getränke müssen mit pnpgui korrespondierend programmiert werden). Wenn die Reihenfolgebedingungen verletzt werden, geprüfte Ausnahmen "lehrbuch.VollException" und "lehrbuch.LeerException" werden ausgelöst. Konstruktoren: parameterloser Konstruktor für ein Eimerobjekt, das explizit angezeigt werden muss. Konstruktor mit "boolean"-Parameter für ein angezeigtes Eimerobjekt. Konstruktor mit "Getraenk"-Parameter für ein gefülltes Eimerobjekt. Reihenfolgebedingungen: Als erster Mutator muss "fuellen" aufgerufen werden. Anschließend dürfen "entleeren" und "fuellen" nur abwechselnd aufgerufen werden, sonst Ausnahme. "inhalt" darf auch nur bei vollem Eimer gerufen werden, sonst Ausnahme.


Nested Class Summary
 class Eimer.FuenfterEimerError
           
 
Field Summary
static Getraenk WASSER
           
static Getraenk WEIN
           
 
Constructor Summary
Eimer()
          Konstruktor für einen leeren unsichtbaren Eimer
Eimer(boolean b)
          Konstruktor für einen leeren sichtbaren Eimer.
Eimer(Eimer eimer)
          Kopierkonstruktor
Eimer(Getraenk g)
          Konstruktor für einen gefuellten Eimer.
Eimer(Getraenk g, boolean b)
          Konstruktor für einen gefuellten sichtbaren Eimer.
 
Method Summary
 void anzeigen()
          Der unsichtbare Eimer wird angezeigt; kein Effekt für einen sichtbaren Eimer.
 void entleeren()
          Eimer wird animiert entleert, wenn voll
 void fuellen()
          Eimer wird animiert mit WASSER gefüllt, wenn leer
 void fuellen(Getraenk getraenk)
          Eimer wird animiert mit "getraenk" gefüllt, wenn leer.
protected  void fuellenMitWein()
          Der Eimer wird animiert gefüllt, wenn leer
 boolean identisch(Eimer eimer)
          vergleicht Inhalt und Position. // const
 Getraenk inhalt()
          Informator
 boolean istGefuellt()
          Zustandsinformator
 boolean istGleich(Eimer eimer)
          vergleicht Füllzustand und Inhalt. // const
 void kopieren(Eimer quelle)
          kopiert Eimerinhalt
 void meldung()
          Ausgabe des Inhalts im Meldungsfenster. // const Beim Aufruf erscheint ein Meldungsfenster.
static void meldung(Getraenk getraenk)
          Ausgabe eines Getraenks im Meldungsfenster. // const Beim Aufruf erscheint ein Meldungsfenster.
static void meldung(java.lang.String text)
          Textausgabe im Meldungsfenster. // const Beim Aufruf erscheint ein Meldungsfenster.
static void meldung(java.lang.String titel, java.lang.String text)
          Textausgabe im Meldungsfenster mit Titel. // const Beim Aufruf erscheint ein Meldungsfenster.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WASSER

public static final Getraenk WASSER

WEIN

public static final Getraenk WEIN
Constructor Detail

Eimer

public Eimer()
Konstruktor für einen leeren unsichtbaren Eimer


Eimer

public Eimer(Eimer eimer)
Kopierkonstruktor


Eimer

public Eimer(boolean b)
Konstruktor für einen leeren sichtbaren Eimer.

Parameters:
b - hat keine Bedeutung.

Eimer

public Eimer(Getraenk g)
Konstruktor für einen gefuellten Eimer.

Parameters:
g - Getränk wird in den Eimer gefüllt.

Eimer

public Eimer(Getraenk g,
             boolean b)
Konstruktor für einen gefuellten sichtbaren Eimer.

Parameters:
g - Getränk wird in den Eimer gefüllt.
b - hat keine Bedeutung.
Method Detail

fuellen

public void fuellen(Getraenk getraenk)
             throws VollException
Eimer wird animiert mit "getraenk" gefüllt, wenn leer.

Parameters:
getraenk - WASSER oder WEIN
Throws:
VollException - wenn Eimer voll

fuellen

public void fuellen()
             throws VollException
Eimer wird animiert mit WASSER gefüllt, wenn leer

Throws:
VollException - wenn Eimer voll

entleeren

public void entleeren()
               throws LeerException
Eimer wird animiert entleert, wenn voll

Throws:
LeerException - wenn Eimer leer

istGefuellt

public boolean istGefuellt()
Zustandsinformator

Returns:
true wenn der Eimer gefüllt ist

inhalt

public Getraenk inhalt()
                throws LeerException
Informator

Returns:
enthaltener Getränk
Throws:
LeerException - wenn Eimer leer

anzeigen

public void anzeigen()
              throws Eimer.FuenfterEimerError
Der unsichtbare Eimer wird angezeigt; kein Effekt für einen sichtbaren Eimer.

Throws:
Eimer.FuenfterEimerError - wenn schon vier Eimer sichtbar (ungeprüfte Ausnahme)

kopieren

public void kopieren(Eimer quelle)
kopiert Eimerinhalt

Parameters:
quelle - der zu kopierende Eimer // const

istGleich

public boolean istGleich(Eimer eimer)
vergleicht Füllzustand und Inhalt. // const

Parameters:
eimer - der zu vergleichende Eimer // const
See Also:
identisch(lehrbuch.Eimer)

identisch

public boolean identisch(Eimer eimer)
vergleicht Inhalt und Position. // const

Parameters:
eimer - der zu vergleichende Eimer // const
See Also:
istGleich(lehrbuch.Eimer)

meldung

public void meldung()
             throws LeerException
Ausgabe des Inhalts im Meldungsfenster. // const Beim Aufruf erscheint ein Meldungsfenster. Es muss bestätigt werden.

Throws:
LeerException - wenn Eimer leer
See Also:
meldung(Getraenk)

meldung

public static void meldung(Getraenk getraenk)
Ausgabe eines Getraenks im Meldungsfenster. // const Beim Aufruf erscheint ein Meldungsfenster. Es muss bestätigt werden.

Parameters:
getraenk - das auszugebende Getraenk // const
See Also:
meldung(String)

meldung

public static void meldung(java.lang.String text)
Textausgabe im Meldungsfenster. // const Beim Aufruf erscheint ein Meldungsfenster. Es muss bestätigt werden.

Parameters:
text - der auszugebende Text // const
See Also:
Programm.meldung(String)

meldung

public static void meldung(java.lang.String titel,
                           java.lang.String text)
Textausgabe im Meldungsfenster mit Titel. // const Beim Aufruf erscheint ein Meldungsfenster. Es muss bestätigt werden.

Parameters:
text - der auszugebende Text // const
titel - der auszugebende Text // const
See Also:
Programm.meldung(String, String)

fuellenMitWein

protected void fuellenMitWein()
                       throws VollException
Der Eimer wird animiert gefüllt, wenn leer

Throws:
VollException - wenn voll