de.bsvrz.dav.daf.main.impl.config
Class DafObjectSet

java.lang.Object
  extended by de.bsvrz.dav.daf.main.impl.config.DafSystemObject
      extended by de.bsvrz.dav.daf.main.impl.config.DafConfigurationObject
          extended by de.bsvrz.dav.daf.main.impl.config.DafObjectSet
All Implemented Interfaces:
ConfigurationObject, ObjectSet, SystemObject, SystemObjectCollection, Comparable
Direct Known Subclasses:
DafMutableSet, DafNonMutableSet

public abstract class DafObjectSet
extends DafConfigurationObject
implements ObjectSet

Author:
Kappich Systemberatung

Field Summary
protected  ArrayList _setElementIds
          Die Ids der Elemente dieser Menge
protected  List<SystemObject> _setElements
          Die Elemente dieser Menge
 
Fields inherited from class de.bsvrz.dav.daf.main.impl.config.DafSystemObject
_dataModel, _internType, ASPECT, ATTRIBUTE, ATTRIBUTE_GROUP, ATTRIBUTE_GROUP_USAGE, ATTRIBUTE_LIST_TYPE, CLIENT_APPLICATION, CONFIGURATION_APPLICATION, CONFIGURATION_AREA, CONFIGURATION_AUTHORITY, CONFIGURATION_OBJECT, CONFIGURATION_OBJECT_TYPE, DAV_APPLICATION, DYNAMIC_OBJECT, DYNAMIC_OBJECT_TYPE, FLOATING_POINT_NUMBER_ATTRIBUTE_TYPE, INTEGER_ATTRIBUTE_TYPE, INTEGER_VALUE_RANGE, INTEGER_VALUE_STATE, MUTABLE_SET, NON_MUTABLE_SET, NULL_OBJECT, OBJECT_DELETED, OBJECT_EXISTS, OBJECT_INVALID, OBJECT_SET_TYPE, OBJECT_SET_USE, REFERENCE_ATTRIBUTE_TYPE, STRING_ATTRIBUTE_TYPE, SYSTEM_OBJECT_TYPE, TIME_ATTRIBUTE_TYPE
 
Constructor Summary
protected DafObjectSet(DafDataModel dataModel)
          Erzeugt ein neues Objekt dessen Eigenschaften im Anschluss mit der read-Methode eingelesen werden sollten.
protected DafObjectSet(long id, String pid, String name, long typId, byte state, String error, DafDataModel dataModel, short validFromVersionNumber, short validToVersionNumber, long responsibleObjectId, long[] setIds, ArrayList setElementIds)
          Erzeugt ein neues Objekt mit den angegebenen Eigenschaften
 
Method Summary
 void add(SystemObject object)
          Erweitert die Menge um ein weiteres Element.
 void add(SystemObject[] objects)
          Erweitert die Menge um beliebig viele Elemente.
abstract  List<SystemObject> getElements()
          Bestimmt die zum aktuellen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
 List getElements(long time)
          Bestimmt die zu einem vorgegebenen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
 List getElementsDuringPeriod(long startTime, long endTime)
          Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
 List getElementsInPeriod(long startTime, long endTime)
          Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
 ObjectSetType getObjectSetType()
          Bestimmt den Typ dieser Menge.
 String parseToString()
          Liefert eine textuelle Beschreibung dieses Objekts für Debug-Zwecke zurück.
 void read(DataInputStream in)
          Deserialisiert dieses Objekt.
 void remove(SystemObject object)
          Entfernt ein Element der Menge.
 void remove(SystemObject[] objects)
          Entfernt beliebige Elemente aus der Menge.
 void write(DataOutputStream out)
          Serialisiert dieses Objekt.
 
Methods inherited from class de.bsvrz.dav.daf.main.impl.config.DafConfigurationObject
addSet, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, isValid, removeSet, revalidate
 
Methods inherited from class de.bsvrz.dav.daf.main.impl.config.DafSystemObject
compareTo, equals, getConfigurationArea, getConfigurationAreaId, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getInternType, getName, getNameOrPidOrId, getObject, getPid, getPidOrId, getPidOrNameOrId, getState, getType, getUsedAttributeGroupUsages, hashCode, invalidate, isOfType, isOfType, setConfigurationData, setConfigurationData, setConfigurationData, setName, storeName, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
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
 

Field Detail

_setElementIds

protected ArrayList _setElementIds
Die Ids der Elemente dieser Menge


_setElements

protected List<SystemObject> _setElements
Die Elemente dieser Menge

Constructor Detail

DafObjectSet

protected DafObjectSet(DafDataModel dataModel)
Erzeugt ein neues Objekt dessen Eigenschaften im Anschluss mit der read-Methode eingelesen werden sollten.

Parameters:
dataModel - DataModel Implementierung, der das neue Objekt zugeordnet ist.

DafObjectSet

protected DafObjectSet(long id,
                       String pid,
                       String name,
                       long typId,
                       byte state,
                       String error,
                       DafDataModel dataModel,
                       short validFromVersionNumber,
                       short validToVersionNumber,
                       long responsibleObjectId,
                       long[] setIds,
                       ArrayList setElementIds)
Erzeugt ein neues Objekt mit den angegebenen Eigenschaften

Method Detail

parseToString

public String parseToString()
Description copied from class: DafSystemObject
Liefert eine textuelle Beschreibung dieses Objekts für Debug-Zwecke zurück.

Overrides:
parseToString in class DafConfigurationObject
Returns:
Beschreibender Text dieses Objekts.

write

public void write(DataOutputStream out)
           throws IOException
Description copied from class: DafSystemObject
Serialisiert dieses Objekt.

Overrides:
write in class DafConfigurationObject
Parameters:
out - Stream auf den das Objekt geschrieben werden soll.
Throws:
IOException

read

public void read(DataInputStream in)
          throws IOException
Description copied from class: DafSystemObject
Deserialisiert dieses Objekt.

Overrides:
read in class DafConfigurationObject
Parameters:
in - Stream von dem das Objekt gelesen werden soll.
Throws:
IOException

getObjectSetType

public final ObjectSetType getObjectSetType()
Description copied from interface: ObjectSet
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().

Specified by:
getObjectSetType in interface ObjectSet
Returns:
Typ der Menge

getElements

public abstract List<SystemObject> getElements()
Description copied from interface: SystemObjectCollection
Bestimmt die zum aktuellen Zeitpunkt zur Zusammenstellung gehörenden Elemente.

Specified by:
getElements in interface SystemObjectCollection
Returns:
Liste mit den aktuell zur Zusammenstellung gehörenden System-Objekten.

getElements

public List getElements(long time)
Description copied from interface: SystemObjectCollection
Bestimmt die zu einem vorgegebenen Zeitpunkt zur Zusammenstellung gehörenden Elemente. Nicht dynamische Mengen mit Referenzierungsart Komposition oder Aggregation liefern immer alle Elemente der Menge zurück.

Specified by:
getElements in interface SystemObjectCollection
Parameters:
time - Zeitpunkt in Millisekunden seit 1970
Returns:
Liste mit den zum angegebenen Zeitpunkt zur Zusammenstellung gehörenden System-Objekten.

getElementsInPeriod

public List getElementsInPeriod(long startTime,
                                long endTime)
Description copied from interface: SystemObjectCollection
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben. Nicht dynamische Mengen mit Referenzierungsart Komposition oder Aggregation liefern immer alle Elemente der Menge zurück.

Specified by:
getElementsInPeriod in interface SystemObjectCollection
Parameters:
startTime - Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.
endTime - Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.
Returns:
Liste mit den zu mindestens einem Zeitpunkt des Zeitbereichs zur Zusammenstellung gehörenden System-Objekten.

getElementsDuringPeriod

public List getElementsDuringPeriod(long startTime,
                                    long endTime)
Description copied from interface: SystemObjectCollection
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben. Nicht dynamische Mengen mit Referenzierungsart Komposition oder Aggregation liefern immer alle Elemente der Menge zurück.

Specified by:
getElementsDuringPeriod in interface SystemObjectCollection
Parameters:
startTime - Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.
endTime - Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.
Returns:
Liste mit den während des gesamten Zeitbereichs zur Zusammenstellung gehörenden System-Objekten.

add

public void add(SystemObject object)
         throws ConfigurationChangeException
Description copied from interface: ObjectSet
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.

Specified by:
add in interface ObjectSet
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

public void add(SystemObject[] objects)
         throws ConfigurationChangeException
Description copied from interface: ObjectSet
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.

Specified by:
add in interface ObjectSet
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

public void remove(SystemObject object)
            throws ConfigurationChangeException
Description copied from interface: ObjectSet
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.

Specified by:
remove in interface ObjectSet
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

public void remove(SystemObject[] objects)
            throws ConfigurationChangeException
Description copied from interface: ObjectSet
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.

Specified by:
remove in interface ObjectSet
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.