lehrbuch
Class Eimer

java.lang.Object
  |
  +--lehrbuch.Eimer
All Implemented Interfaces:
java.lang.Cloneable

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

Datenbehälter "Animierter Eimer". 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.VollAusnahme" und "lehrbuch.LeerAusnahme" 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.


Inner Class Summary
 class Eimer.FuenfterEimerFehler
           
 
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.
 java.lang.Object clone(Eimer eimer)
          Eimerinhalt wird in einen neuen Eimer kopiert.
 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 gefuellt()
          Zustandsinformator
 void getraenkEingabe()
          Eingabefenster für ein Getränk Beim Aufruf erscheint ein Eingabefenster; "WASSER" oder "WEIN" muss eingetippt werden.
 void getraenkWahl()
          Auswahlliste für ein Getränk Beim Aufruf erscheint eine Auswahlliste mit WASSER und WEIN.
 boolean identisch(Eimer eimer)
          vergleicht Inhalt und Position.
 Getraenk inhalt()
          Informator
 boolean istGleich(Eimer eimer)
          vergleicht Füllzustand und Inhalt.
 void kopieren(Eimer quelle)
          kopiert Eimerinhalt
 void meldung()
          Ausgabe des Inhalts im Meldungsfenster.
static void meldung(Getraenk getraenk)
          Ausgabe eines Getraenks im Meldungsfenster.
static void meldung(java.lang.String text)
          Textausgabe im Meldungsfenster.
static void meldung(java.lang.String titel, java.lang.String text)
          Textausgabe im Meldungsfenster mit Titel.
static Getraenk wasser()
          Wertefunktion
static Getraenk wein()
          Wertefunktion
 
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

Eimer

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

Eimer

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

wasser

public static Getraenk wasser()
Wertefunktion
Returns:
in den Eimer passender Getraenk-Wert WASSER

wein

public static Getraenk wein()
Wertefunktion
Returns:
in den Eimer passender Getraenk-Wert WEIN

fuellen

public void fuellen(Getraenk getraenk)
             throws VollAusnahme
Eimer wird animiert mit "getraenk" gefüllt, wenn leer.
Parameters:
getraenk - WASSER oder WEIN
Throws:
VollAusnahme - wenn Eimer voll

fuellen

public void fuellen()
             throws VollAusnahme
Eimer wird animiert mit WASSER gefüllt, wenn leer
Throws:
VollAusnahme - wenn Eimer voll

entleeren

public void entleeren()
               throws LeerAusnahme
Eimer wird animiert entleert, wenn voll
Throws:
LeerAusnahme - wenn Eimer leer

gefuellt

public boolean gefuellt()
Zustandsinformator
Returns:
true wenn der Eimer gefüllt ist

inhalt

public Getraenk inhalt()
                throws LeerAusnahme
Informator
Returns:
enthaltener Getränk
Throws:
LeerAusnahme - wenn Eimer leer

anzeigen

public void anzeigen()
              throws Eimer.FuenfterEimerFehler
Der unsichtbare Eimer wird angezeigt; kein Effekt für einen sichtbaren Eimer.
Throws:
Eimer.FuenfterEimerFehler - 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 LeerAusnahme
Ausgabe des Inhalts im Meldungsfenster. // const Beim Aufruf erscheint ein Meldungsfenster. Es muss bestätigt werden.
Throws:
LeerAusnahme - 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)

getraenkWahl

public void getraenkWahl()
Auswahlliste für ein Getränk Beim Aufruf erscheint eine Auswahlliste mit WASSER und WEIN. Der Eimer wird entleert (wenn voll) und mit dem ausgewählten Getränk gefüllt.
See Also:
getraenkEingabe()

getraenkEingabe

public void getraenkEingabe()
Eingabefenster für ein Getränk Beim Aufruf erscheint ein Eingabefenster; "WASSER" oder "WEIN" muss eingetippt werden. Wenn nicht "Wasser" oder "Wein" eingetippt wird, wird getraenkWahl aufgerufen. Der Eimer wird entleert (wenn voll) und mit dem eingetippten Getränk gefüllt.
See Also:
getraenkWahl()

clone

public java.lang.Object clone(Eimer eimer)
Eimerinhalt wird in einen neuen Eimer kopiert.
Parameters:
eimer - der zu kopierende Eimer

fuellenMitWein

protected void fuellenMitWein()
                       throws VollAusnahme
Der Eimer wird animiert gefüllt, wenn leer
Throws:
VollAusnahme - wenn voll