de.bsvrz.dav.daf.main.config
Interface ObjectSet

All Superinterfaces:
Comparable, ConfigurationObject, SystemObject, SystemObjectCollection
All Known Subinterfaces:
MutableSet, NonMutableSet
All Known Implementing Classes:
DafMutableSet, DafNonMutableSet, DafObjectSet

public interface ObjectSet
extends ConfigurationObject, SystemObjectCollection

Schnittstelle zum Zugriff auf die Eigenschaften von Objekt-Mengen. Einem Konfigurationsobjekt können mehrere Mengen zugeordnet sein. Die verschiedenen Mengen werden mit ihrem permanenten Mengen-Namen unterschieden. Eine Menge enthält Verweise auf andere System-Objekte. Bei Objekt-Mengen wird unterschieden zwischen online änderbaren und nicht online änderbaren Mengen. Bei online änderbaren Mengen können zur Laufzeit Objekte hinzugefügt und entfernt werden. Änderungen an nicht online änderbaren Mengen werden erst mit Aktivierung der nächsten Konfigurationsversion aktiv. Der Zugriff auf die speziellen Methoden von online änderbaren Mengen ist mit der Schnittstelleklasse MutableSet möglich. Der Zugriff auf die speziellen Eigenschaften und Funktionen von nicht online änderbaren Mengen ist mit der Schnittstellenklasse NonMutableSet möglich. In der vorliegenden Schnittstelle sind die Gemeinsamkeiten beider Mengenarten zusammengefasst.

Author:
Kappich+Kniß Systemberatung Aachen (K2S), Roland Schmitz (rs), Fouad, Stephan Homeyer (sth)
See Also:
MutableSet, NonMutableSet

Method Summary
 void add(SystemObject object)
          Erweitert die Menge um ein weiteres Element.
 void add(SystemObject[] objects)
          Erweitert die Menge um beliebig viele Elemente.
 ObjectSetType getObjectSetType()
          Bestimmt den Typ dieser Menge.
 void remove(SystemObject object)
          Entfernt ein Element der Menge.
 void remove(SystemObject[] objects)
          Entfernt beliebige Elemente aus der Menge.
 
Methods inherited from interface de.bsvrz.dav.daf.main.config.ConfigurationObject
addSet, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, removeSet, revalidate
 
Methods inherited from interface de.bsvrz.dav.daf.main.config.SystemObject
getConfigurationArea, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getName, getNameOrPidOrId, getPid, getPidOrId, getPidOrNameOrId, getType, getUsedAttributeGroupUsages, invalidate, isOfType, isOfType, isValid, setConfigurationData, setConfigurationData, setConfigurationData, setName, toString
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface de.bsvrz.dav.daf.main.config.SystemObjectCollection
getElements, getElements, getElementsDuringPeriod, getElementsInPeriod
 

Method Detail

getObjectSetType

ObjectSetType getObjectSetType()
Bestimmt den Typ dieser Menge. Der Mengentyp enthält Beschränkungen über den Typ und die Anzahl der in einer Menge enthaltenen Objekte und eine Information darüber, ob Elemente online hinzugefügt oder entfernt werden dürfen. Die Methode entspricht mit Ausnahme des Rückgabetyps der Methode SystemObject.getType().

Returns:
Typ der Menge

add

void add(SystemObject object)
         throws ConfigurationChangeException
Erweitert die Menge um ein weiteres Element. Wenn das angegebene Element schon in der Menge enthalten ist, dann wird die Menge nicht verändert. Wenn der Typ des angegebenen System-Objekts in der Menge nicht erlaubt ist, wird die Menge nicht verändert und eine Ausnahme generiert. Wenn bei online änderbaren Mengen die maximale Anzahl von Objekten bereits erreicht ist, wird die Menge nicht verändert und eine Ausnahme generiert. Wenn die Menge nicht online änderbar ist, dann wird das neue Element erst mit Aktivierung der nächsten Konfigurationsversion in die Menge aufgenommen.

Parameters:
object - Das System-Objekt, das der Menge hinzugefügt werden soll.
Throws:
ConfigurationChangeException - Wenn das übergebene Objekt nicht in die Menge aufgenommen werden konnte und noch nicht in der Menge enthalten war.

add

void add(SystemObject[] objects)
         throws ConfigurationChangeException
Erweitert die Menge um beliebig viele Elemente. Sind angegebene Elemente bereits in der Menge, so werden sie ignoriert. Ausnahmen werden generiert, u.a. wenn der Typ eines angegebenen System-Objekts in der Menge nicht erlaubt ist und wenn bei online änderbaren Mengen die maximale Anzahl von Objekten überschritten wird. Bei Ausnahmen wird die Menge nicht verändert. Wenn die Menge nicht online änderbar ist, dann werden die neuen Elemente erst mit Aktivierung der nächsten Konfigurationsversion in die Menge aufgenommen.

Parameters:
objects - Die System-Objekte, die der Menge hinzugefügt werden sollen.
Throws:
ConfigurationChangeException - Wenn eines der übergebenen Objekte nicht in die Menge aufgenommen werden konnte und noch nicht in der Menge enthalten war.

remove

void remove(SystemObject object)
            throws ConfigurationChangeException
Entfernt ein Element der Menge. Wenn das Element nicht in der Menge enthalten ist, wird eine Ausnahme generiert. Wenn bei online änderbaren Mengen die minimale Anzahl von Objekten bereits erreicht ist, wird das Element nicht aus der Menge entfernt und eine Ausnahme generiert. Bei nicht online änderbaren Mengen wird das gegebene Element erst mit Aktivierung der nächsten Konfigurationsversion aus der Menge entfernt.

Parameters:
object - Das System-Objekt, das aus der Menge entfernt werden soll.
Throws:
ConfigurationChangeException - Wenn das übergebene Objekt nicht aus der Menge entfernt werden konnte.

remove

void remove(SystemObject[] objects)
            throws ConfigurationChangeException
Entfernt beliebige Elemente aus der Menge. Ausnahmen werden generiert, u.a. wenn ein Element nicht in der Menge enthalten ist und wenn bei online änderbaren Mengen die minimale Anzahl von Objekten bereits erreicht ist. Bei Ausnahmen wird die Menge nicht verändert. Bei nicht online änderbaren Mengen werden die angegebenen Elemente erst mit Aktivierung der nächsten Konfigurationsversion aus der Menge entfernt.

Parameters:
objects - Die System-Objekte, die aus der Menge entfernt werden sollen.
Throws:
ConfigurationChangeException - Wenn eines der übergebenen Objekte nicht aus der Menge entfernt werden konnte.