Class DafMutableSet

All Implemented Interfaces:
ConfigurationCommunicationInterface, ConfigurationObject, MutableCollection, MutableSet, ObjectSet, SystemObject, SystemObjectCollection, java.lang.Comparable

public final class DafMutableSet
extends DafObjectSet
implements MutableSet
Mit dieser Klasse kann auf dynamische Mengen zugegriffen werden. Diesen Mengen können online Elemente hinzugefügt und entfernt, ohne dass eine neue Konfigurationsversion erstellt werden muss.
  • Constructor Details

    • DafMutableSet

      public DafMutableSet​(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.
    • DafMutableSet

      public DafMutableSet​(long id, java.lang.String pid, java.lang.String name, long typId, byte state, java.lang.String error, DafDataModel dataModel, short validFromVersionNumber, short validToVersionNumber, long responsibleObjectId, long[] setIds, java.util.ArrayList<java.lang.Long> setElementIds)
      Erzeugt ein Objekt einer dynamischen Menge.
    • DafMutableSet

      public DafMutableSet​(long id, java.lang.String pid, java.lang.String name, long typId, byte state, java.lang.String error, DafDataModel dataModel, short validFromVersionNumber, short validToVersionNumber, long responsibleObjectId, long[] setIds, long[] setElementIds)
      Erzeugt ein Objekt einer dynamischen Menge.
  • Method Details

    • getElements

      public java.util.List<SystemObject> getElements()
      Gibt die Elemente zurück, die sich aktuell in der dynamischen Menge befinden.
      Specified by:
      getElements in interface SystemObjectCollection
      Specified by:
      getElements in class DafObjectSet
      Returns:
      die Elemente, die aktuell in der dynamischen Menge sind
    • getElements

      public java.util.List<SystemObject> getElements​(long time)
      Gibt die Elemente zurück, die sich zu einem bestimmten Zeitpunkt in der dynamischen Menge befinden.
      Specified by:
      getElements in interface SystemObjectCollection
      Overrides:
      getElements in class DafObjectSet
      Parameters:
      time - der zu betrachtende Zeitpunkt
      Returns:
      die Elemente, die zum angegebenen Zeitpunkt in der dynamischen Menge sind
    • getElementsInPeriod

      public java.util.List<SystemObject> getElementsInPeriod​(long startTime, long endTime)
      Gibt die Elemente zurück, die innerhalb des angegebenen Zeitraumes gültig sind bzw. gültig waren.
      Specified by:
      getElementsInPeriod in interface SystemObjectCollection
      Overrides:
      getElementsInPeriod in class DafObjectSet
      Parameters:
      startTime - Beginn des zu betrachtenden Zeitraumes
      endTime - Ende des zu betrachtenden Zeitraumes
      Returns:
      die Elemente, die innerhalb des angegebenen Zeitraumes in der dynamischen Menge sind bzw. waren
    • getElementsDuringPeriod

      public java.util.List<SystemObject> getElementsDuringPeriod​(long startTime, long endTime)
      Gibt die Elemente zurück, die während des gesamten Zeitraumes gültig waren.
      Specified by:
      getElementsDuringPeriod in interface SystemObjectCollection
      Overrides:
      getElementsDuringPeriod in class DafObjectSet
      Parameters:
      startTime - Beginn des zu betrachtenden Zeitraumes
      endTime - Ende des zu betrachtenden Zeitraumes
      Returns:
      die Elemente, die während des gesamten Zeitraums in der dynamischen Menge waren
    • addChangeListener

      public void addChangeListener​(MutableSetChangeListener observer)
      Meldet einen Beobachter an, der informiert wird, falls sich an der dynamischen Menge etwas ändert.
      Specified by:
      addChangeListener in interface MutableSet
      Parameters:
      observer - Der Beobachter
    • removeChangeListener

      public void removeChangeListener​(MutableSetChangeListener observer)
      Meldet einen Beobachter wieder ab.
      Specified by:
      removeChangeListener in interface MutableSet
      Parameters:
      observer - Der Beobachter
    • add

      public 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.
      Specified by:
      add in interface ObjectSet
      Overrides:
      add in class DafObjectSet
      Parameters:
      object - Das System-Objekt, das der Menge hinzugefügt werden soll.
      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
      Entfernt ein Element der Menge. Wenn das Element nicht in der Menge enthalten ist, wird es ignoriert. Ausnahmen werden generiert, u.a. wenn bei online änderbaren Mengen die minimale Anzahl von Objekten bereits erreicht ist. Bei Ausnahmen wird die Menge nicht verändert.
      Specified by:
      remove in interface ObjectSet
      Overrides:
      remove in class DafObjectSet
      Parameters:
      object - Das System-Objekt, das aus der Menge entfernt werden soll.
      Throws:
      ConfigurationChangeException - Wenn die minimale Anzahl von Objekten unterschritten werden würde.
    • addConfigurationCommunicationChangeListener

      public void addConfigurationCommunicationChangeListener​(ConfigurationCommunicationChangeListener listener)
      Description copied from interface: ConfigurationCommunicationInterface
      Meldet einen Beobachter für die Zustandsänderungen der Kommunikation mit der verwaltenden Konfigurationen dieses Objekts an. Bei Änderungen wird die Methode ConfigurationCommunicationChangeListener.configurationCommunicationChange(ConfigurationCommunicationInterface, boolean) des angegebenen Beobachters aufgerufen.
      Specified by:
      addConfigurationCommunicationChangeListener in interface ConfigurationCommunicationInterface
      Parameters:
      listener - Beobachter für Zustandsänderungen der Kommunikation.
    • removeConfigurationCommunicationChangeListener

      public void removeConfigurationCommunicationChangeListener​(ConfigurationCommunicationChangeListener listener)
      Description copied from interface: ConfigurationCommunicationInterface
      Meldet einen Beobachter für die Zustandsänderungen dieser Kommunikation wieder ab.
      Specified by:
      removeConfigurationCommunicationChangeListener in interface ConfigurationCommunicationInterface
      Parameters:
      listener - Ein bisher für Zustandsänderungen der Kommunikation angemeldeter Beobachter.
    • configurationCommunicationChange

      public void configurationCommunicationChange​(boolean configComStatus)
    • isConfigurationCommunicationActive

      public boolean isConfigurationCommunicationActive()
      Description copied from interface: ConfigurationCommunicationInterface
      Gibt an, ob die Kommunikation mit der verwaltenden Konfiguration dieses Objekts aktiv ist.
      Specified by:
      isConfigurationCommunicationActive in interface ConfigurationCommunicationInterface
      Returns:
      true bedeutet, dass die Kommunikation aktiv ist und false zeigt an, dass die Kommunikation unterbrochen ist
    • addChangeListener

      public void addChangeListener​(short simulationVariant, MutableCollectionChangeListener changeListener)
      Description copied from interface: MutableCollection
      Meldet einen Listener auf Änderungen der Elemente einer dynamischen Menge oder eines dynamischen Typs unter Berücksichtigung der Simulationsvariante an.
      Specified by:
      addChangeListener in interface MutableCollection
      Parameters:
      simulationVariant - Simulationsvariante unter der die dynamische Zusammenstellung betrachtet werden soll.
      changeListener - Listener, der bei Änderungen der Elemente informiert werden soll.
    • removeChangeListener

      public void removeChangeListener​(short simulationVariant, MutableCollectionChangeListener changeListener)
      Description copied from interface: MutableCollection
      Meldet einen zuvor angemeldeten Listener wieder ab.
      Specified by:
      removeChangeListener in interface MutableCollection
      Parameters:
      simulationVariant - Simulationsvariante der entsprechenden Anmeldung.
      changeListener - Listener der entsprechenden Anmeldung.
    • addInternalChangeListener

      public void addInternalChangeListener​(short simulationVariant, MutableCollectionChangeListener changeListener)
    • removeInternalChangeListener

      public void removeInternalChangeListener​(short simulationVariant, MutableCollectionChangeListener changeListener)
    • getElements

      public java.util.List<SystemObject> getElements​(short simulationVariant)
      Description copied from interface: MutableCollection
      Bestimmt die aktuellen Elemente einer dynamischen Menge oder eines dynamischen Typs unter Berücksichtigung der Simulationsvariante.
      Specified by:
      getElements in interface MutableCollection
      Parameters:
      simulationVariant - Simulationsvariante unter der die dynamische Zusammenstellung betrachtet werden soll.
      Returns:
      Aktuelle Elemente der dynamischen Menge oder des dynamischen Typs unter Berücksichtigung der Simulationsvariante.
    • collectionChanged

      public void collectionChanged​(short simVariant, java.util.List<SystemObject> addedElements, java.util.List<SystemObject> removedElements)
      Leitet die Aktualisierungsnachrichten bzgl. Änderungen von dynamischen Mengen und dynamischen Typen an das entsprechende Verwaltungsobjekt weiter.
      Parameters:
      simVariant - Simulationsvariante der Änderung
      addedElements - Hinzugefügte Elemente der dynamischen Zusammenstellung
      removedElements - Entfernte Elemente der dynamischen Zusammenstellung