Class DafObjectSet

All Implemented Interfaces:
ConfigurationObject, ObjectSet, SystemObject, SystemObjectCollection, Comparable
Direct Known Subclasses:
DafMutableSet, DafNonMutableSet

public abstract class DafObjectSet extends DafConfigurationObject implements ObjectSet
  • Field Details

    • _setElementIds

      protected long[] _setElementIds
      Die Ids der Elemente dieser Menge
    • _setElements

      protected List<SystemObject> _setElements
      Die Elemente dieser Menge
  • Constructor Details

    • 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<Long> setElementIds)
      Erzeugt ein neues Objekt mit den angegebenen Eigenschaften
    • 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, long[] setElementIds)
      Erzeugt ein neues Objekt mit den angegebenen Eigenschaften
  • Method Details

    • 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 - wenn beim Schreiben auf den Ausgabe-Stream Fehler aufgetreten sind.
    • read

      public void read(DataInputStream in) throws IOException
      Description copied from class: DafSystemObject
      Deserialisiert dieses Objekt über die alte Methode.
      Overrides:
      read in class DafConfigurationObject
      Parameters:
      in - Stream von dem das Objekt gelesen werden soll.
      Throws:
      IOException - wenn beim Lesen vom Eingabe-Stream Fehler aufgetreten sind.
    • read

      public void read(Deserializer deserializer) throws IOException
      Description copied from class: DafSystemObject
      Deserialisiert dieses Objekt
      Overrides:
      read in class DafConfigurationObject
      Parameters:
      deserializer - Deserialisierer als Datenquelle
      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 final 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 final 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.