Class DynamicObjectInformation

java.lang.Object
de.bsvrz.puk.config.configFile.fileaccess.SystemObjectInformation
de.bsvrz.puk.config.configFile.fileaccess.DynamicObjectInformation
All Implemented Interfaces:
DynamicObjectInfo, SystemObjectInformationInterface

public class DynamicObjectInformation
extends SystemObjectInformation
implements DynamicObjectInfo
Diese Klasse stellt alle Informationen zur Verfügung, die für ein dynamisches Objekt in der Konfiguration benötigt werden.

Falls das Objekt in eine Datei geschrieben werden soll, sollte das Objekt zum synchronisieren benutzt werden. Dies verhindert, dass sich das Objekt während des Schreibvorgangs verändert, lesende Zugriffe sind weiterhin möglich.

  • Constructor Details

    • DynamicObjectInformation

      public DynamicObjectInformation​(long id, java.lang.String pid, long typeId, java.lang.String name, short simulationVariant, long firstValidTime, ConfigAreaFile configAreaFile, boolean saveModifications, de.bsvrz.dav.daf.main.config.DynamicObjectType.PersistenceMode persistenceMode)
      Parameters:
      id - Id des Objekts
      pid - Pid des Objekts
      typeId - Tye des Objekts, der Type wird über die Id identifiziert
      name - Name des Objekts, null wird als "" interpretiert
      simulationVariant - Simulationsvariante des dynamischen Objekts
      firstValidTime - Zeitpunkt, an dem das dynamische Objekt gültig werden soll
      saveModifications - true = Das Objekt wird angelegt und in die Datei des Konfigurationsbereichs später gespeichert, werden Änderungen vorgenommen (Datensätze geändert, usw), so werden die Änderungen gespeichert; false = Das Objekt wird angelegt und nicht gespeichert (beim laden des Objekts aus der Datei wäre dies sinnvoll), auch Modifikationen am Objekt werden nicht gespeichert, damit gespeichert wird muss SystemObjectInformation.saveObjectModifications() aufgerufen werden
      persistenceMode - Persistenzmodus des dynamischen Objekts.
    • DynamicObjectInformation

      public DynamicObjectInformation​(long id, java.lang.String pid, long typeId, java.lang.String name, short simulationVariant, long firstValidTime, long firstInvalidTime, ConfigAreaFile configAreaFile, boolean saveModifications)
      Mit diesem Konstruktor können nur "nicht transiente" Objekte erzeugt werden.
      Parameters:
      id -
      pid -
      typeId -
      name -
      simulationVariant -
      firstValidTime -
      firstInvalidTime -
      configAreaFile -
      saveModifications -
  • Method Details

    • setTestWithSynchronizedSleep

      public static void setTestWithSynchronizedSleep​(boolean testWithSynchronizedSleep)
      Parameters:
      testWithSynchronizedSleep - Wenn true übergeben wird, dann wird in nachfolgenden Aufrufen der Methode setInvalid() ein sleep von 10ms ausgeführt, das einen potentiellen Deadlock aufdecken würde.
    • getFirstValidTime

      public long getFirstValidTime()
      Description copied from interface: DynamicObjectInfo
      Diese Methode gibt an, zu welchem Zeitpunkt das dynamische Objekt des Konfigurationsbereichs gültig wird/wurde.
      Specified by:
      getFirstValidTime in interface DynamicObjectInfo
      Returns:
      s.o.
    • getFirstInvalidTime

      public long getFirstInvalidTime()
      Description copied from interface: DynamicObjectInfo
      Diese Methode gibt an, zu welchem Zeitpunkt das dynamische Objekt des Konfigurationsbereichs ungültig wird/wurde. Der Wert "0" bedeutet, dass dieser Zeitpunkt noch unbekannt ist und das das Objekt bis zu Festlegung dieses Zeitpunkt gültig bleibt.
      Specified by:
      getFirstInvalidTime in interface DynamicObjectInfo
      Returns:
      s.o.
    • setInvalid

      public void setInvalid()
      Objekt auf Invalid setzen und sofort speichern
      Specified by:
      setInvalid in interface DynamicObjectInfo
    • getSimulationVariant

      public short getSimulationVariant()
      Description copied from interface: DynamicObjectInfo
      Diese Methode gibt die Simulationsvariante des dynamischen Objekts zurück.
      Specified by:
      getSimulationVariant in interface DynamicObjectInfo
      Returns:
      s.o.
    • remove

      public void remove()
      Description copied from interface: DynamicObjectInfo
      Diese Methode löscht ein dynamisches Objekt. Das Objekt steht danach nicht mehr zur Verfügung und kann nicht mehr rekonstruiert werden.

      Eventuelle Informationen in Dateien und/oder in Datenstrukturen müssen entfernt werden und dürfen auch nach Neustart des Systems nicht mehr zur Verfügung stehen.

      Specified by:
      remove in interface DynamicObjectInfo
    • getPersPersistenceMode

      public de.bsvrz.dav.daf.main.config.DynamicObjectType.PersistenceMode getPersPersistenceMode()
      Description copied from interface: DynamicObjectInfo
      Gibt den Persistenzmodus des dynamischen Objekts zurück.
      Specified by:
      getPersPersistenceMode in interface DynamicObjectInfo
      Returns:
      PersistenceMode
    • isDeleted

      public boolean isDeleted()
      Description copied from interface: SystemObjectInformationInterface
      Gibt zurück, ob das Objekt bereits gelöscht wurde. Danach sind beispielsweise Änderungen an den Konfigurationsdaten verboten, da das Objekt dann unerlaubterweise aus den NGA-Blöcken (oder dem NgDyn-Block) in die Mischmenge wandern würde.
      Specified by:
      isDeleted in interface SystemObjectInformationInterface
      Returns:
      true: wurde schon gelöscht, false: Objekt ist gültig oder wird in Zukunft gültig (Objekt befindet sich sicher in der Mischmenge)
    • getLastFilePosition

      public FilePointer getLastFilePosition()
      Specified by:
      getLastFilePosition in class SystemObjectInformation
    • setLastFilePosition

      public void setLastFilePosition​(FilePointer lastFilePosition)
      Specified by:
      setLastFilePosition in class SystemObjectInformation
    • getConfigAreaFile

      public ConfigAreaFile getConfigAreaFile()
      Description copied from interface: SystemObjectInformationInterface
      Gibt die zugehörige Konfigurationsdatei zurück
      Specified by:
      getConfigAreaFile in interface SystemObjectInformationInterface
      Returns:
      die zugehörige Konfigurationsdatei
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class SystemObjectInformation