Class ConfigurationObjectInformation
java.lang.Object
de.bsvrz.puk.config.configFile.fileaccess.SystemObjectInformation
de.bsvrz.puk.config.configFile.fileaccess.ConfigurationObjectInformation
- All Implemented Interfaces:
ConfigurationObjectInfo
,SystemObjectInformationInterface
public class ConfigurationObjectInformation
extends SystemObjectInformation
implements ConfigurationObjectInfo
Dieses Objekt stellt alle Informationen zur Verfügung, die für ein Konfigurationsobjekt relevant sind. Die Methoden sind Thread-sicher.
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
ConstructorsConstructorDescriptionConfigurationObjectInformation
(long id, String pid, long typeId, String name, short firstValidVersion, short firstInvalidVersion, ConfigAreaFile configAreaFile, boolean saveModifications) ConfigurationObjectInformation
(ConfigAreaFile configAreaFile, long id, String pid, long typeId, String name, short firstValidVersion, boolean saveModifications) Der Zeitpunkt, wann das Objekt ungültig wird, wird automatisch auf 0 gesetzt -
Method Summary
Modifier and TypeMethodDescriptionvoid
addObjectSetId
(long setId) Diese Methode fügt eine leere Menge an ein Konfigurationsobjekt hinzu.void
addObjectSetObject
(long setId, long objectId) Diese Methode fügt ein Objekt zu einer bestehenden Menge hinzu.Gibt die zugehörige Konfigurationsdatei zurückshort
Gibt die Version zurück, mit der das Objekt ungültig wird.short
Diese Methode gibt an, mit welcher Version des Konfigurationsbereichs das Konfigurationsobjekt gültig werden soll/sollte.long[]
Diese Methode gibt die IdŽs aller Mengen zurück, die an dem Konfigurationsobjekt gespeichert sind.long[]
getObjectSetObjects
(long setId) Diese Methode gibt zu einer Menge, die zu diesem Konfigurationsobjekt gehört, alle IdŽs der jeweiligen Objekte zurück, die sich in der Menge befinden.void
Das Konfigurationsobjekt wird mit der nächsten Version des Konfigurationsbereichs ungültig.boolean
Gibt zurück, ob das Objekt bereits gelöscht wurde.void
Solange der Konfigurationsbereich noch nicht in eine neue Version überführt wurde, kann ein Konfigurationsobjekt, welches auf ungültig gesetzt wurde, mit dieser Methode wieder auf gültig gesetzt werden.void
setLastFilePosition
(FilePointer lastFilePosition) 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
-
ConfigurationObjectInformation
public ConfigurationObjectInformation(ConfigAreaFile configAreaFile, long id, String pid, long typeId, String name, short firstValidVersion, boolean saveModifications) Der Zeitpunkt, wann das Objekt ungültig wird, wird automatisch auf 0 gesetzt- Parameters:
configAreaFile
- der Konfigurationsbereichid
- Id des Objektspid
- Pid des ObjektstypeId
- Typ des Objekts, dieser wird über die Id des Typs identifiziertname
- Name des Objekts,null
wird als "" interpretiertfirstValidVersion
- Version, mit der das Objekt gütlig wirdsaveModifications
- 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), acuh Modifikationen am Objekt werden nicht gespeichert, damit gespeichert wird mussSystemObjectInformation.saveObjectModifications()
aufgerufen werden
-
ConfigurationObjectInformation
public ConfigurationObjectInformation(long id, String pid, long typeId, String name, short firstValidVersion, short firstInvalidVersion, ConfigAreaFile configAreaFile, boolean saveModifications) - Parameters:
id
- Id des Objektspid
- Pid des ObjektstypeId
- Typ des Objekts, dieser wird über die Id des Typs identifiziertname
- Name des Objekts,null
wird als "" interpretiertfirstValidVersion
- Version, mit der das Objekt gütlig wirdfirstInvalidVersion
- Version, mit der das Objekt ungütlig wirdconfigAreaFile
- der KonfigurationsbereichsaveModifications
- 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), acuh Modifikationen am Objekt werden nicht gespeichert, damit gespeichert wird mussSystemObjectInformation.saveObjectModifications()
aufgerufen werden
-
-
Method Details
-
getFirstValidVersion
public short getFirstValidVersion()Description copied from interface:ConfigurationObjectInfo
Diese Methode gibt an, mit welcher Version des Konfigurationsbereichs das Konfigurationsobjekt gültig werden soll/sollte.- Specified by:
getFirstValidVersion
in interfaceConfigurationObjectInfo
- Returns:
- s.o
-
getFirstInvalidVersion
public short getFirstInvalidVersion()Gibt die Version zurück, mit der das Objekt ungültig wird. Der Zugriff ist synchonisiert, weil zum Zeitpunkt des Zugriffs, das Objekt gerade gesetzt werden könnte.- Specified by:
getFirstInvalidVersion
in interfaceConfigurationObjectInfo
- Returns:
- Version, mit der das Objekt ungültig wird
-
invalidate
public void invalidate()Das Konfigurationsobjekt wird mit der nächsten Version des Konfigurationsbereichs ungültig. Diese Objekte müssen nicht sofort gespeichert werden, da sie bis zum beenden der Konfiguration im Speicher bleiben.War das Objekt noch nicht gültig, so wird es direkt gelöscht.
- Specified by:
invalidate
in interfaceConfigurationObjectInfo
- See Also:
-
revalidate
public void revalidate()Solange der Konfigurationsbereich noch nicht in eine neue Version überführt wurde, kann ein Konfigurationsobjekt, welches auf ungültig gesetzt wurde, mit dieser Methode wieder auf gültig gesetzt werden.- Specified by:
revalidate
in interfaceConfigurationObjectInfo
- See Also:
-
getObjectSetIds
public long[] getObjectSetIds()Description copied from interface:ConfigurationObjectInfo
Diese Methode gibt die IdŽs aller Mengen zurück, die an dem Konfigurationsobjekt gespeichert sind.- Specified by:
getObjectSetIds
in interfaceConfigurationObjectInfo
- Returns:
- s.o.
-
addObjectSetId
Description copied from interface:ConfigurationObjectInfo
Diese Methode fügt eine leere Menge an ein Konfigurationsobjekt hinzu.- Specified by:
addObjectSetId
in interfaceConfigurationObjectInfo
- Parameters:
setId
- Id der Menge, die zu dem Konfigurationsobjekt hinzugefügt werden soll- Throws:
IllegalStateException
- Eine Menge mit der Id existiert bereits an diesem Objekt
-
getObjectSetObjects
public long[] getObjectSetObjects(long setId) Description copied from interface:ConfigurationObjectInfo
Diese Methode gibt zu einer Menge, die zu diesem Konfigurationsobjekt gehört, alle IdŽs der jeweiligen Objekte zurück, die sich in der Menge befinden.- Specified by:
getObjectSetObjects
in interfaceConfigurationObjectInfo
- Parameters:
setId
- Menge, die zu dem Konigurationsobjekt gehört- Returns:
- Objekte, die in der Menge gespeichert sind, die mit der
setId
identifiziert wurde
-
addObjectSetObject
public void addObjectSetObject(long setId, long objectId) throws IllegalArgumentException, IllegalStateException Description copied from interface:ConfigurationObjectInfo
Diese Methode fügt ein Objekt zu einer bestehenden Menge hinzu. Die Menge wird über die Id identifiziert.- Specified by:
addObjectSetObject
in interfaceConfigurationObjectInfo
- Parameters:
setId
- Menge, zu der das Objekt hinzugefügt werden sollobjectId
- Objekt, das zu der Menge hinzugefügt werden soll- Throws:
IllegalArgumentException
- Die Menge existiert nicht an dem KonfigurationsobjektIllegalStateException
- Ein Objekt mit der Id existiert bereits in der Menge
-
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
-
toString
- Overrides:
toString
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
-