Class TSChain

java.lang.Object
  extended by TSChain
All Implemented Interfaces:
java.io.Serializable

 class TSChain
extends java.lang.Object
implements java.io.Serializable

.

======================================================================
 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

IdStr

protected static final java.lang.String IdStr
See Also:
Constant Field Values

Cnt

private int Cnt

Head

private TSWrld Head

Next

private TSWrld Next

ItArr

private TSWrld[] ItArr

ItIx

private int ItIx
Constructor Detail

TSChain

protected TSChain()
.
=====================================================================
 Constructor: (1) Create default-entry
=====================================================================
  

Method Detail

add

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)
=====================================================================
  


isEqual

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)
=====================================================================
  


next

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)
=====================================================================
 


list

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)
=====================================================================
 


remove

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)
=====================================================================
  


replace

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)
=====================================================================
  


reSort

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)
=====================================================================
  


size

protected final int size()
.
=====================================================================
 Methode "size"
 aktuelle Anzahl der Eintraege liefern
 ##size.TSChain (Eyecatcher)
=====================================================================