Class DynamicObjectInformation
java.lang.Object
de.bsvrz.puk.config.configFile.fileaccess.SystemObjectInformation
de.bsvrz.puk.config.configFile.fileaccess.DynamicObjectInformation
- All Implemented Interfaces:
DynamicObjectInfo
,SystemObjectInformationInterface
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.
-
Field Summary
Fields inherited from class de.bsvrz.puk.config.configFile.fileaccess.SystemObjectInformation
_saveModifications
-
Constructor Summary
ConstructorsConstructorDescriptionDynamicObjectInformation
(long id, String pid, long typeId, String name, short simulationVariant, long firstValidTime, long firstInvalidTime, ConfigAreaFile configAreaFile, boolean saveModifications) Mit diesem Konstruktor können nur "nicht transiente" Objekte erzeugt werden.DynamicObjectInformation
(long id, String pid, long typeId, String name, short simulationVariant, long firstValidTime, ConfigAreaFile configAreaFile, boolean saveModifications, de.bsvrz.dav.daf.main.config.DynamicObjectType.PersistenceMode persistenceMode) -
Method Summary
Modifier and TypeMethodDescriptionGibt die zugehörige Konfigurationsdatei zurücklong
Diese Methode gibt an, zu welchem Zeitpunkt das dynamische Objekt des Konfigurationsbereichs ungültig wird/wurde.long
Diese Methode gibt an, zu welchem Zeitpunkt das dynamische Objekt des Konfigurationsbereichs gültig wird/wurde.de.bsvrz.dav.daf.main.config.DynamicObjectType.PersistenceMode
Gibt den Persistenzmodus des dynamischen Objekts zurück.short
Diese Methode gibt die Simulationsvariante des dynamischen Objekts zurück.boolean
Gibt zurück, ob das Objekt bereits gelöscht wurde.void
remove()
Diese Methode löscht ein dynamisches Objekt.void
Objekt auf Invalid setzen und sofort speichernvoid
setLastFilePosition
(FilePointer lastFilePosition) static void
setTestWithSynchronizedSleep
(boolean testWithSynchronizedSleep) toString()
Methods inherited from class de.bsvrz.puk.config.configFile.fileaccess.SystemObjectInformation
equals, getConfigurationAreaFile, getConfigurationData, getConfigurationDataOptional, getConfigurationsDataAttributeGroupUsageIds, getID, getName, getPid, getReference, getTypeId, hashCode, removeConfigurationData, saveObjectModifications, setConfigurationData, setName, setReference
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface de.bsvrz.puk.config.configFile.fileaccess.SystemObjectInformationInterface
getConfigurationData, getConfigurationDataOptional, getConfigurationsDataAttributeGroupUsageIds, getID, getName, getPid, getTypeId, removeConfigurationData, setConfigurationData, setName
-
Constructor Details
-
DynamicObjectInformation
public DynamicObjectInformation(long id, String pid, long typeId, String name, short simulationVariant, long firstValidTime, ConfigAreaFile configAreaFile, boolean saveModifications, de.bsvrz.dav.daf.main.config.DynamicObjectType.PersistenceMode persistenceMode) - Parameters:
id
- Id des Objektspid
- Pid des ObjektstypeId
- Tye des Objekts, der Type wird über die Id identifiziertname
- Name des Objekts,null
wird als "" interpretiertsimulationVariant
- Simulationsvariante des dynamischen ObjektsfirstValidTime
- Zeitpunkt, an dem das dynamische Objekt gültig werden sollsaveModifications
- 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 mussSystemObjectInformation.saveObjectModifications()
aufgerufen werdenpersistenceMode
- Persistenzmodus des dynamischen Objekts.
-
DynamicObjectInformation
public DynamicObjectInformation(long id, String pid, long typeId, 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
- Wenntrue
ü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 interfaceDynamicObjectInfo
- 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 interfaceDynamicObjectInfo
- Returns:
- s.o.
-
setInvalid
public void setInvalid()Objekt auf Invalid setzen und sofort speichern- Specified by:
setInvalid
in interfaceDynamicObjectInfo
-
getSimulationVariant
public short getSimulationVariant()Description copied from interface:DynamicObjectInfo
Diese Methode gibt die Simulationsvariante des dynamischen Objekts zurück.- Specified by:
getSimulationVariant
in interfaceDynamicObjectInfo
- 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 interfaceDynamicObjectInfo
-
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 interfaceDynamicObjectInfo
- 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 interfaceSystemObjectInformationInterface
- 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
- Specified by:
getLastFilePosition
in classSystemObjectInformation
-
setLastFilePosition
- Specified by:
setLastFilePosition
in classSystemObjectInformation
-
getConfigAreaFile
Description copied from interface:SystemObjectInformationInterface
Gibt die zugehörige Konfigurationsdatei zurück- Specified by:
getConfigAreaFile
in interfaceSystemObjectInformationInterface
- Returns:
- die zugehörige Konfigurationsdatei
-
toString
- Overrides:
toString
in classSystemObjectInformation
-