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.
_saveModifications
Constructor and Description |
---|
DynamicObjectInformation(long id,
java.lang.String pid,
long typeId,
java.lang.String name,
short simulationVariant,
long firstValidTime,
ConfigAreaFile configAreaFile,
boolean saveModifications,
DynamicObjectType.PersistenceMode persistenceMode) |
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.
|
Modifier and Type | Method and Description |
---|---|
ConfigAreaFile |
getConfigAreaFile()
Gibt die zugehörige Konfigurationsdatei zurück
|
long |
getFirstInvalidTime()
Diese Methode gibt an, zu welchem Zeitpunkt das dynamische Objekt des Konfigurationsbereichs ungültig wird/wurde.
|
long |
getFirstValidTime()
Diese Methode gibt an, zu welchem Zeitpunkt das dynamische Objekt des Konfigurationsbereichs gültig wird/wurde.
|
FilePointer |
getLastFilePosition() |
DynamicObjectType.PersistenceMode |
getPersPersistenceMode()
Gibt den Persistenzmodus des dynamischen Objekts zurück.
|
short |
getSimulationVariant()
Diese Methode gibt die Simulationsvariante des dynamischen Objekts zurück.
|
boolean |
isDeleted()
Gibt zurück, ob das Objekt bereits gelöscht wurde.
|
void |
remove()
Diese Methode löscht ein dynamisches Objekt.
|
void |
setInvalid()
Objekt auf Invalid setzen und sofort speichern
|
void |
setLastFilePosition(FilePointer lastFilePosition) |
static void |
setTestWithSynchronizedSleep(boolean testWithSynchronizedSleep) |
java.lang.String |
toString() |
equals, getConfigurationAreaFile, getConfigurationData, getConfigurationDataOptional, getConfigurationsDataAttributeGroupUsageIds, getID, getName, getPid, getReference, getTypeId, hashCode, removeConfigurationData, saveObjectModifications, setConfigurationData, setName, setReference
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getConfigurationData, getConfigurationDataOptional, getConfigurationsDataAttributeGroupUsageIds, getID, getName, getPid, getTypeId, removeConfigurationData, setConfigurationData, setName
public DynamicObjectInformation(long id, java.lang.String pid, long typeId, java.lang.String name, short simulationVariant, long firstValidTime, ConfigAreaFile configAreaFile, boolean saveModifications, DynamicObjectType.PersistenceMode persistenceMode)
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 muss SystemObjectInformation.saveObjectModifications()
aufgerufen werdenpersistenceMode
- Persistenzmodus des dynamischen Objekts.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.
id
- pid
- typeId
- name
- simulationVariant
- firstValidTime
- firstInvalidTime
- configAreaFile
- saveModifications
- public static void setTestWithSynchronizedSleep(boolean testWithSynchronizedSleep)
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.public long getFirstValidTime()
DynamicObjectInfo
Diese Methode gibt an, zu welchem Zeitpunkt das dynamische Objekt des Konfigurationsbereichs gültig wird/wurde.
getFirstValidTime
in interface DynamicObjectInfo
public long getFirstInvalidTime()
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.
getFirstInvalidTime
in interface DynamicObjectInfo
public void setInvalid()
Objekt auf Invalid setzen und sofort speichern
setInvalid
in interface DynamicObjectInfo
public short getSimulationVariant()
DynamicObjectInfo
Diese Methode gibt die Simulationsvariante des dynamischen Objekts zurück.
getSimulationVariant
in interface DynamicObjectInfo
public void remove()
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.
remove
in interface DynamicObjectInfo
public DynamicObjectType.PersistenceMode getPersPersistenceMode()
DynamicObjectInfo
Gibt den Persistenzmodus des dynamischen Objekts zurück.
getPersPersistenceMode
in interface DynamicObjectInfo
public boolean isDeleted()
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.
isDeleted
in interface SystemObjectInformationInterface
public FilePointer getLastFilePosition()
getLastFilePosition
in class SystemObjectInformation
public void setLastFilePosition(FilePointer lastFilePosition)
setLastFilePosition
in class SystemObjectInformation
public ConfigAreaFile getConfigAreaFile()
SystemObjectInformationInterface
Gibt die zugehörige Konfigurationsdatei zurück
getConfigAreaFile
in interface SystemObjectInformationInterface
public java.lang.String toString()
toString
in class SystemObjectInformation