de.bsvrz.puk.config.configFile.fileaccess
Class DynamicObjectInformation

java.lang.Object
  extended by de.bsvrz.puk.config.configFile.fileaccess.SystemObjectInformation
      extended by 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.

Author:
Kappich+Kniß Systemberatung Aachen (K2S), Achim Wullenkord (AW)

Constructor Summary
DynamicObjectInformation(long id, String pid, long typeId, String name, short simulationVariant, long firstValidTime, ConfigAreaFile configAreaFile, boolean saveModifications, DynamicObjectType.PersistenceMode persistenceMode)
           
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.
 
Method Summary
 ConfigAreaFile getConfigAreaFile()
           
 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.
 long getLastFilePosition()
           
 DynamicObjectType.PersistenceMode getPersPersistenceMode()
          Gibt den Persistenzmodus des dynamischen Objekts zurück.
 short getSimulationVariant()
          Diese Methode gibt die Simulationsvariante des dynamischen Objekts zurück.
 void remove()
          Diese Methode löscht ein dynamisches Objekt.
 void saveObjectModifications()
           
 void setInvalid()
          Objekt auf Invalid setzen und sofort speichern
 void setLastFilePosition(long lastFilePosition)
           
 String toString()
           
 
Methods inherited from class de.bsvrz.puk.config.configFile.fileaccess.SystemObjectInformation
equals, getConfigurationAreaFile, getConfigurationData, getConfigurationsDataAttributeGroupUsageIds, getID, getName, getPid, getReference, getTypeId, hashCode, removeConfigurationData, saveObjectModificationsSystemObject, 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, getConfigurationsDataAttributeGroupUsageIds, getID, getName, getPid, getTypeId, removeConfigurationData, setConfigurationData, setName
 

Constructor Detail

DynamicObjectInformation

public DynamicObjectInformation(long id,
                                String pid,
                                long typeId,
                                String name,
                                short simulationVariant,
                                long firstValidTime,
                                ConfigAreaFile configAreaFile,
                                boolean saveModifications,
                                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 saveObjectModifications() aufgerufen werden
persistenceMode - 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 Detail

saveObjectModifications

public void saveObjectModifications()

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. Diese Methode kann nur auf Objekte angewendet werden, die eine Simulationsvariante größer/gleich 1 besitzen. Ist die Simulationsvariante < 1, so wird nichts gemacht.

Specified by:
remove in interface DynamicObjectInfo

getPersPersistenceMode

public DynamicObjectType.PersistenceMode getPersPersistenceMode()
Description copied from interface: DynamicObjectInfo
Gibt den Persistenzmodus des dynamischen Objekts zurück.

Specified by:
getPersPersistenceMode in interface DynamicObjectInfo
Returns:
PersistenceMode

getLastFilePosition

public long getLastFilePosition()

setLastFilePosition

public void setLastFilePosition(long lastFilePosition)

getConfigAreaFile

public ConfigAreaFile getConfigAreaFile()

toString

public String toString()
Overrides:
toString in class SystemObjectInformation