lehrbuch.kapitel9
Class AssoSpeicherImpl

java.lang.Object
  |
  +--lehrbuch.kapitel9.AssoSpeicherImpl
All Implemented Interfaces:
AssoSpeicher
Direct Known Subclasses:
AssoTabImpl

public class AssoSpeicherImpl
extends java.lang.Object
implements AssoSpeicher

Einfache Implementierung des Assoziativspeichers mit Hilfe einer positionierbaren Liste. Generische Klasse, d.h. Konstruktion nur mit Registierungsobjekten möglich. Wenn Methoden mit Parametern anderer Klassen aufgerufen werden, wird die ungeprüfte Ausnahme GenFehler ausgelöst.


Inner classes inherited from class lehrbuch.kapitel9.AssoSpeicher
AssoSpeicher.NichtVorhandenAusnahme
 
Field Summary
protected  PosListe elementSpeicher
           
protected  PosListe schluesselSpeicher
           
 
Constructor Summary
AssoSpeicherImpl(java.lang.Object element, java.lang.Object schluessel)
          Konstruktor mit Registrierungsobjekten.
 
Method Summary
 void eintragen(java.lang.Object schluessel, java.lang.Object element)
          Element mit Schlüssel wird in den Assoziativspeicher eingetragen
 void entleeren()
          Assoziativspeicher wird geleert
 java.lang.Object finden(java.lang.Object schluessel)
          Element mit gegebenem Schlüssel wird im Assoziativspeicher gesucht.
 boolean istLeer()
          Überprüft, ob mindestens ein Element in den Assoziativspeicher eingetragen wurde.
 boolean istVoll()
          Überprüft, ob eintragen VollAusnahme auslösen würde.
 boolean vorhanden(java.lang.Object schluessel)
          Überprüft, ob ein Element mit diesem Schlüssel in den Assoziativspeicher eingetragen wurde.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

elementSpeicher

protected PosListe elementSpeicher

schluesselSpeicher

protected PosListe schluesselSpeicher
Constructor Detail

AssoSpeicherImpl

public AssoSpeicherImpl(java.lang.Object element,
                        java.lang.Object schluessel)
Konstruktor mit Registrierungsobjekten.
Parameters:
element - Registrierungsobjekt: eintragen ist nur mit seiner Klasse möglich
schluessel - Registrierungsobjekt: eintragen und finden ist nur mit seiner Klasse möglich
Method Detail

entleeren

public void entleeren()
Assoziativspeicher wird geleert
Specified by:
entleeren in interface AssoSpeicher

eintragen

public void eintragen(java.lang.Object schluessel,
                      java.lang.Object element)
               throws VollAusnahme
Element mit Schlüssel wird in den Assoziativspeicher eingetragen
Specified by:
eintragen in interface AssoSpeicher
Parameters:
schluessel - das Wiederauffinden des Elements ist mit diesem Schlüssel möglich
element - das einzutragende Element
Throws:
VollAusnahme - eintragen ist nicht mehr möglich, weil der Assoziativspeicher voll ist
See Also:
AssoSpeicher.finden(java.lang.Object)

finden

public java.lang.Object finden(java.lang.Object schluessel)
                        throws AssoSpeicher.NichtVorhandenAusnahme
Element mit gegebenem Schlüssel wird im Assoziativspeicher gesucht. // const
Specified by:
finden in interface AssoSpeicher
Parameters:
schluessel - Element wird mit diesem Schlüssel gesucht
Returns:
das gesuchte Element
Throws:
AssoSpeicher#NichtVorhandenAusnahme - (innere Ausnahme) wenn kein Element mit diesem Schlüssel eingetragen wurde
See Also:
AssoSpeicher.eintragen(java.lang.Object, java.lang.Object)

vorhanden

public boolean vorhanden(java.lang.Object schluessel)
Überprüft, ob ein Element mit diesem Schlüssel in den Assoziativspeicher eingetragen wurde. Wenn true, löst finden kein NichtVorhandenAuns aus // const
Specified by:
vorhanden in interface AssoSpeicher
Parameters:
schluessel - der gesuchte Schlüssel
Returns:
true wenn ein Element mit dem Schlüssel in den Assoziativspeicher gespeichert wurde
See Also:
AssoSpeicher.finden(java.lang.Object)

istLeer

public boolean istLeer()
Überprüft, ob mindestens ein Element in den Assoziativspeicher eingetragen wurde. Wenn true, löst eintragen kein NichtVorhandenAuns aus // const
Specified by:
istLeer in interface AssoSpeicher
Returns:
true wenn noch kein Element in den Assoziativspeicher eingetragen wurde
See Also:
AssoSpeicher.eintragen(java.lang.Object, java.lang.Object)

istVoll

public boolean istVoll()
Überprüft, ob eintragen VollAusnahme auslösen würde. // const
Specified by:
istVoll in interface AssoSpeicher
Returns:
true wenn kein Element mehr in den Assoziativspeicher eingetragen werden kann
See Also:
AssoSpeicher.eintragen(java.lang.Object, java.lang.Object)