edu.bonn.xulu.appl
Class AbstractManager

java.lang.Object
  extended by AbstractObjectTraceable
      extended by edu.bonn.xulu.appl.AbstractManager
All Implemented Interfaces:
XuluComponent, XuluConstants
Direct Known Subclasses:
EventManager, ModelControlManager, VisualisationManager

public abstract class AbstractManager
extends AbstractObjectTraceable
implements XuluComponent

Diese Klasse stellt einen allgemeinen Manager dar. Dieser dient dazu, Komponenten, denen ein grafisches Fenster zugeordnet ist, in einer Liste zu verwalten. z.B.

Aus diesem Grund muessen die Objekte, bestimmte Anforderungen erfuellen, die durch das Interface AbstractManager.ContentType spezifiziert werden.
Der Manager fungiert als AbstractObjectTraceable, so dass ObjectListener angeschlossen werden koennen, welche automatisch durch ein AbstractManager.ChangeEvent informiert werden, wenn sich der Inhalt des Managers aendert.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Nested Class Summary
static class AbstractManager.ChangeEvent
          Diese Ereignis wird erzeugt (und an alle ObjectListener gesendet), wenn sich der Inhalt des Managers aendert (eine Instanz hingefuegt oder entfernt wurde).
static interface AbstractManager.ContentType
          Dieses Interface definiert Mindestanforderungen, die die Komponenten erfuellen muessen, die in dem Manager verwaltet werden sollen.
 
Field Summary
protected  Vector content
          Speichert den Inhalt des Managers.
protected  boolean duplAllowed
          Speichert, ob in dem Manager mehrere gleiche Objekte erlaubt sind
 
Fields inherited from interface edu.bonn.xulu.appl.XuluConstants
BUG_MAIL_ADDR, EXTENTION_BUNDLE, ICONS_DIR, LOCALES_BASE, RESOURCE_DIR, SWING_RES, VERSION, VERSION_DATE, XULU_ICON, XULU_INFOICON, XULU_STARTICON, XULU_VIS_RES, XULUERR_RES, XULUGUI_RES
 
Constructor Summary
AbstractManager()
          Erzeugt einen neuen (leeren) Manager, der Duplikate erlaubt.
AbstractManager(boolean duplAllowed)
          Erzeugt einen neuen (leeren) Manager.
 
Method Summary
 void add(AbstractManager.ContentType comp)
          Fuegt dem Manager eine Komponente hinzu.
 void add(AbstractManager.ContentType comp, boolean visible)
          Fuegt dem Manager eine Komponente hinzu.
abstract  void checkComponentAndError(AbstractManager.ContentType cont)
          Diese Methode prueft, ob der Inhalt fuer die konkrete Implementierung zulaessig ist.
protected  void checkDuplicateAndError(AbstractManager.ContentType cont)
          Prueft, ob es bereits ein Objekt im Manager gibt, das dem uebergebenen gleicht (diese Implementierung prueft auf die equals(.).Methode).
 void dispose()
          Zerstoert den Manager und alle darin enthaltenen Komponenten.
 AbstractManager.ContentType get(int index)
          Liefert eine registrierte Komponente.
 AbstractManager.ContentType[] getAll()
          Liefert alle registrierte Komponenten als Array.
 int getCount()
          Liefert die Anzahl an aktuell registrierten Komponenten.
 boolean getDuplicatedAllowed()
          Prueft, ob im Manager Objekte mit der gleichen Bezeichnung erlaubt sind.
 boolean isDisposed()
          Prueft, ob der Manager zerstoert ist.
 void remove(AbstractManager.ContentType comp)
          Entfernt eine Komponente aus dem Manager.
 void remove(int index)
          Entfernt eine Komponente aus dem Manager.
 void removeAll()
          Entfernt alle Komponenten aus dem Manager.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

content

protected Vector content
Speichert den Inhalt des Managers.


duplAllowed

protected boolean duplAllowed
Speichert, ob in dem Manager mehrere gleiche Objekte erlaubt sind

Constructor Detail

AbstractManager

public AbstractManager(boolean duplAllowed)
Erzeugt einen neuen (leeren) Manager.

Parameters:
duplAllowed - steuert, ob Duplikate im Manager erlaubt sind

AbstractManager

public AbstractManager()
Erzeugt einen neuen (leeren) Manager, der Duplikate erlaubt.

Method Detail

getDuplicatedAllowed

public boolean getDuplicatedAllowed()
Prueft, ob im Manager Objekte mit der gleichen Bezeichnung erlaubt sind.


dispose

public void dispose()
Zerstoert den Manager und alle darin enthaltenen Komponenten.

Specified by:
dispose in interface XuluComponent

isDisposed

public boolean isDisposed()
Prueft, ob der Manager zerstoert ist.

Specified by:
isDisposed in interface XuluComponent
See Also:
dispose()

getCount

public int getCount()
Liefert die Anzahl an aktuell registrierten Komponenten.


get

public AbstractManager.ContentType get(int index)
Liefert eine registrierte Komponente.

Parameters:
index - Listen-Index

getAll

public AbstractManager.ContentType[] getAll()
Liefert alle registrierte Komponenten als Array.

Returns:
leerer Array falls keine Komponenten im Manager registriert sind.

add

public void add(AbstractManager.ContentType comp)
Fuegt dem Manager eine Komponente hinzu. Das Fenster dieser Komponente wird noch nicht angezeigt!

Parameters:
comp - neue Komponente

add

public void add(AbstractManager.ContentType comp,
                boolean visible)
Fuegt dem Manager eine Komponente hinzu.

Parameters:
comp - neue Komponente
visible - bestimmt, ob die Komponente (bzw. deren Fenster) direkt angezeigt wird

remove

public void remove(AbstractManager.ContentType comp)
Entfernt eine Komponente aus dem Manager. Zuvor wird diese komplett geschlossen.

Parameters:
comp - zu schliessende Komponente
See Also:
AbstractManager.ContentType.close()

removeAll

public void removeAll()
Entfernt alle Komponenten aus dem Manager. Zuvor werden diese komplett geschlossen.

See Also:
AbstractManager.ContentType.close()

remove

public void remove(int index)
Entfernt eine Komponente aus dem Manager. Zuvor wird diese komplett geschlossen.

Parameters:
index - Listen-Index
See Also:
AbstractManager.ContentType.close()

checkDuplicateAndError

protected void checkDuplicateAndError(AbstractManager.ContentType cont)
Prueft, ob es bereits ein Objekt im Manager gibt, das dem uebergebenen gleicht (diese Implementierung prueft auf die equals(.).Methode). Ist dies der Fall, wird eine DuplicateException geworfen.

Parameters:
cont - Objekt auf das geprueft wird

checkComponentAndError

public abstract void checkComponentAndError(AbstractManager.ContentType cont)
Diese Methode prueft, ob der Inhalt fuer die konkrete Implementierung zulaessig ist.

Parameters:
cont - ContentType