|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectTSChain
class TSChain
.
====================================================================== Klasse TSChain -- Definition einer einfachen sortierten Collection Die Methoden dieser Klasse gehen davon aus dass NICHT versucht wird, doppelte Eintraege (gemaess Sortierung) hinzuzufuegen. ACHTUNG: Diese Version ist auf TSWrld-Eintraege und deren Ableitungen fixiert Die verwalteten Klassen muessen folgende Methoden implementieren: boolean isEqual(TSWrld) - Objekt schon eingestzt boolean isBefore(TSWrld) - Objekt davor einzusetzen TSWrld chgChn(TSWrld) - Weiterschalten naechstes Element Diese Klasse stellt EINEN Iteratoren zur Verfuegung, der die Elemente der Collection durchlaeuft. Dieser Iterator ist NICHT gegen Veraenderungen der zu Grunde liegenden Collection gesichert. Eventuelle Veraenderungen werden ohne Warnung durch den Iterator reflektiert. Es wird weiterhin EIN Iterator bereitgestellt, der die Elemente der Collection durchlaeuft, wie sie zum Zeitpunkt der Initialisierung vorlagen. Alle Aenderungen nach diesem Zeitpunkt sind in der Reihenfolge der Elemente nicht erkennbar. Achtung: Auch geloeschte Elemente werden ggf. geliefert. Achtung Implementierungstrick: Da eine Verkettung auf 'null' benoetigt wird und anderseits eine Verkettung auf sich selbst ungueltig ist, wird als Schalter fuer die Abfrage in der Methode 'chgChn()' die EIGENREFERENZ benutzt: 'xxx.chgChn(...)' LIEFERT IMMER den aktuellen Verkettungswert 'xxx.chgChn(xxx)' setzt KEINEN neuen Verkettungswert 'xxx.chgChn(yyy)' setzt 'yyy' als neuen Verkettungswert ##TSChain (Eyecatcher) ======================================================================
Field Summary | |
---|---|
private int |
Cnt
|
private TSWrld |
Head
|
protected static java.lang.String |
IdStr
|
private TSWrld[] |
ItArr
|
private int |
ItIx
|
private TSWrld |
Next
|
Constructor Summary | |
---|---|
protected |
TSChain()
. |
Method Summary | |
---|---|
protected java.lang.String |
add(TSWrld cObj)
. |
protected boolean |
isEqual(TSWrld vObj)
. |
protected TSWrld |
list(boolean mode)
. |
protected TSWrld |
next(boolean mode)
. |
protected java.lang.String |
remove(TSWrld cObj)
. |
protected java.lang.String |
replace(TSWrld cObj,
TSWrld nObj)
. |
protected java.lang.String |
reSort(TSWrld cObj)
. |
protected int |
size()
. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final java.lang.String IdStr
private int Cnt
private TSWrld Head
private TSWrld Next
private TSWrld[] ItArr
private int ItIx
Constructor Detail |
---|
protected TSChain()
===================================================================== Constructor: (1) Create default-entry =====================================================================
Method Detail |
---|
protected final java.lang.String add(TSWrld cObj)
===================================================================== Methode "add" Neues Element SORTIERT in die Kette einsetzen Methode liefert ggf. Fehlermeldung oder 'null' Achtung: 'null'-Objekte werden NICHT unterstuetzt (Systemfehler) ##add.TSChain (Eyecatcher) =====================================================================
protected final boolean isEqual(TSWrld vObj)
===================================================================== Methode "isEqual" pruefen ob ein gegebenes Element schon in der Liste vorhanden ist Methode liefert 'true' falls schon in der Liste ##isEqual.TSChain (Eyecatcher) =====================================================================
protected final TSWrld next(boolean mode)
===================================================================== Methode "next" Iterator initialisieren/fortschreiben Methode liefert 'null' falls 'kein weiteres Element' zutrifft. Achtung: 'Next' zeigt immer auf 'null' oder 'naechstes zu lieferndes Element'. Dadurch kann das 'letzte gelieferte Element' umgehaengt werden, ohne ein Element NICHT zu liefern. ACHTUNG: Aenderungen in der zu Grunde liegenden Reihenfolge der Elemente werden durch die Iteratoren BEACHTET. d.h. Es ist moeglich, dass ein Element MEHRMALS geliefert wird, wenn waehrend eines aktiven Iterators dieses Element nach hinten verschoben wird. ##next.TSChain (Eyecatcher) =====================================================================
protected final TSWrld list(boolean mode)
===================================================================== Methode "list" UNVERAENDERBARER Iterator initialisieren/fortschreiben Argument: 'true' - Iterator initialisieren und erstes Element liefern 'false' - naechstes Element liefern Methode liefert 'null' falls 'kein weiteres Element' vorhanden ist. Falls der Iterator NICHT initialisiert ist wird mit Argument 'false' 'null' geliefert. Achtung: Beim Initialisieren des Iterators wird eine Kopie der Liste erzeugt und diese fuer weitere Elementlieferungen genutzt. Die Reihenfolge der Elemente kann deshalb veraendert werden, ohne dass dies in diesem Iterator erkannt wird. ##list.TSChain (Eyecatcher) =====================================================================
protected final java.lang.String remove(TSWrld cObj)
===================================================================== Methode "remove" Ein Element gezielt aus der Kette entfernen Methode liefert ggf. Fehlermeldung oder 'null' Achtung: Eine Iteration wird NUR dann deaktiviert, wenn das 'naechste zu liefernde' Element entfernt wird. Achtung: 'null'-Objekte werden NICHT unterstuetzt (Systemfehler) ##remove.TSChain (Eyecatcher) =====================================================================
protected final java.lang.String replace(TSWrld cObj, TSWrld nObj)
===================================================================== Methode "replace" ein Element aus der Kette entfernen und ein neues SORTIERT in die Kette einsetzen Methode liefert ggf. Fehlermeldung oder 'null' Achtung: Eine Iteration wird NUR dann deaktiviert, wenn das 'naechste zu liefernde' Element entfernt wird. Achtung: 'null'-Objekte werden NICHT unterstuetzt (Systemfehler) ##replace.TSChain (Eyecatcher) =====================================================================
protected final java.lang.String reSort(TSWrld cObj)
===================================================================== Methode "reSort" Element aus der Kette entfernen und SORTIERT neu in die Kette einsetzen Methode liefert ggf. Fehlermeldung oder 'null' Achtung: Eine Iteration wird NUR dann deaktiviert, wenn das 'naechste zu liefernde' Element das spezifizierte (cObj) ist. Achtung: 'null'-Objekte werden NICHT unterstuetzt (Systemfehler) ##reSort.TSChain (Eyecatcher) =====================================================================
protected final int size()
===================================================================== Methode "size" aktuelle Anzahl der Eintraege liefern ##size.TSChain (Eyecatcher) =====================================================================
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |