package de.unirostock.Bridge.Schlange; public class KonkrSchlange implements AbstrSchlange { private AbstrSchlangeImplementierer impl; public KonkrSchlange() { impl = new EinfachVerketteteSchlange(); } public KonkrSchlange(AbstrSchlangeImplementierer a) { impl = a; } // Einfügeoperation public void insertElement(char w) { impl.insertElement(w); } // Löschoperation public void removeElement() { impl.removeElement(); } // Liefert das erste Element in der Schlange zurück public char getFirstElement() { return impl.getFirstElement(); } // Liefert das erste Element in der Schlange zurück und löscht es gleichzeitig // Wird verwendet, um die Elemente der Schlange in einer anderen Schlange einzufügen public char getAndRemoveElement() { return impl.getAndRemoveElement(); } // Test, ob leer public boolean isEmpty() { return impl.isEmpty(); } // Test, ob voll public boolean isFull() { return impl.isFull(); } public void setSchlangeImplementierer(AbstrSchlangeImplementierer s) { if (! impl.equals(s)) { while (!impl.isEmpty()) { s.insertElement(impl.getAndRemoveElement()); } impl = s; } } public int getAnzahl() { return impl.getAnzahl(); } public AbstrSchlangeImplementierer getSchlangeImplementierer() { return impl; } }