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.
| Modifier and Type | Field and Description |
|---|---|
private ConfigAreaFile |
_configAreaFile |
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
private short |
_firstInvalidVersion |
private short |
_firstValidVersion |
private FilePointer |
_lastFilePosition
Speichert die letzte abselute Position ab, an der das Objekt gespeichert wurde.
|
private java.util.Map<java.lang.Long,java.util.Set<java.lang.Long>> |
_sets
Speichert alle Mengen, die zu diesem Objekt gehören.
|
_saveModifications| Constructor and Description |
|---|
ConfigurationObjectInformation(ConfigAreaFile configAreaFile,
long id,
java.lang.String pid,
long typeId,
java.lang.String name,
short firstValidVersion,
boolean saveModifications)
Der Zeitpunkt, wann das Objekt ungültig wird, wird automatisch auf 0 gesetzt
|
ConfigurationObjectInformation(long id,
java.lang.String pid,
long typeId,
java.lang.String name,
short firstValidVersion,
short firstInvalidVersion,
ConfigAreaFile configAreaFile,
boolean saveModifications) |
| Modifier and Type | Method and Description |
|---|---|
void |
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.
|
(package private) static ConfigurationObjectInformation |
createSystemObjectInformation(ConfigAreaFile configAreaFile,
long filePosition,
long id,
long typeId,
short firstInvalid,
short firstValid,
byte[] packedBytes) |
(package private) static ConfigurationObjectInformation |
fromBinaryObject(ConfigAreaFile configAreaFile,
long filePosition,
BinaryConfigObject binaryConfigObject) |
ConfigAreaFile |
getConfigAreaFile()
Gibt die zugehörige Konfigurationsdatei zurück
|
short |
getFirstInvalidVersion()
Gibt die Version zurück, mit der das Objekt ungültig wird.
|
short |
getFirstValidVersion()
Diese Methode gibt an, mit welcher Version des Konfigurationsbereichs das Konfigurationsobjekt gültig werden soll/sollte.
|
FilePointer |
getLastFilePosition() |
long[] |
getObjectSetIds()
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 |
invalidate()
Das Konfigurationsobjekt wird mit der nächsten Version des Konfigurationsbereichs ungültig.
|
boolean |
isDeleted()
Gibt zurück, ob das Objekt bereits gelöscht wurde.
|
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.
|
void |
setLastFilePosition(FilePointer lastFilePosition) |
java.lang.String |
toString() |
equals, getConfigurationAreaFile, getConfigurationData, getConfigurationDataOptional, getConfigurationsDataAttributeGroupUsageIds, getID, getName, getPid, getPidHashCode, getReference, getTypeId, hashCode, removeConfigurationData, saveObjectModifications, setConfigurationData, setName, setReferenceclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetConfigurationData, getConfigurationDataOptional, getConfigurationsDataAttributeGroupUsageIds, getID, getName, getPid, getTypeId, removeConfigurationData, setConfigurationData, setNameprivate final short _firstValidVersion
private short _firstInvalidVersion
private final java.util.Map<java.lang.Long,java.util.Set<java.lang.Long>> _sets
Speichert alle Mengen, die zu diesem Objekt gehören. Als Schlüssel dient die Id der Menge. Als value wird eine Menge zurückgegeben. In dieser Menge sind alle Objekte gespeichert, die sich in der Menge befinden.
private final ConfigAreaFile _configAreaFile
private FilePointer _lastFilePosition
Speichert die letzte abselute Position ab, an der das Objekt gespeichert wurde.
private static final Debug _debug
DebugLogger für Debug-Ausgaben
public ConfigurationObjectInformation(ConfigAreaFile configAreaFile, long id, java.lang.String pid, long typeId, java.lang.String name, short firstValidVersion, boolean saveModifications)
Der Zeitpunkt, wann das Objekt ungültig wird, wird automatisch auf 0 gesetzt
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 muss SystemObjectInformation.saveObjectModifications() aufgerufen werdenpublic ConfigurationObjectInformation(long id,
java.lang.String pid,
long typeId,
java.lang.String name,
short firstValidVersion,
short firstInvalidVersion,
ConfigAreaFile configAreaFile,
boolean saveModifications)
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 muss SystemObjectInformation.saveObjectModifications() aufgerufen werdenstatic ConfigurationObjectInformation fromBinaryObject(ConfigAreaFile configAreaFile, long filePosition, BinaryConfigObject binaryConfigObject) throws java.io.IOException, NoSuchVersionException
java.io.IOExceptionNoSuchVersionExceptionstatic ConfigurationObjectInformation createSystemObjectInformation(ConfigAreaFile configAreaFile, long filePosition, long id, long typeId, short firstInvalid, short firstValid, byte[] packedBytes) throws java.io.IOException, NoSuchVersionException
java.io.IOExceptionNoSuchVersionExceptionpublic short getFirstValidVersion()
ConfigurationObjectInfoDiese Methode gibt an, mit welcher Version des Konfigurationsbereichs das Konfigurationsobjekt gültig werden soll/sollte.
getFirstValidVersion in interface ConfigurationObjectInfopublic 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.
getFirstInvalidVersion in interface ConfigurationObjectInfopublic 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.
invalidate in interface ConfigurationObjectInforevalidate()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.
revalidate in interface ConfigurationObjectInfoinvalidate()public long[] getObjectSetIds()
ConfigurationObjectInfoDiese Methode gibt die IdŽs aller Mengen zurück, die an dem Konfigurationsobjekt gespeichert sind.
getObjectSetIds in interface ConfigurationObjectInfopublic void addObjectSetId(long setId)
throws java.lang.IllegalStateException
ConfigurationObjectInfoDiese Methode fügt eine leere Menge an ein Konfigurationsobjekt hinzu.
addObjectSetId in interface ConfigurationObjectInfosetId - Id der Menge, die zu dem Konfigurationsobjekt hinzugefügt werden solljava.lang.IllegalStateException - Eine Menge mit der Id existiert bereits an diesem Objektpublic long[] getObjectSetObjects(long setId)
ConfigurationObjectInfoDiese 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.
getObjectSetObjects in interface ConfigurationObjectInfosetId - Menge, die zu dem Konigurationsobjekt gehörtsetId identifiziert wurdepublic void addObjectSetObject(long setId,
long objectId)
throws java.lang.IllegalArgumentException,
java.lang.IllegalStateException
ConfigurationObjectInfoDiese Methode fügt ein Objekt zu einer bestehenden Menge hinzu. Die Menge wird über die Id identifiziert.
addObjectSetObject in interface ConfigurationObjectInfosetId - Menge, zu der das Objekt hinzugefügt werden sollobjectId - Objekt, das zu der Menge hinzugefügt werden solljava.lang.IllegalArgumentException - Die Menge existiert nicht an dem Konfigurationsobjektjava.lang.IllegalStateException - Ein Objekt mit der Id existiert bereits in der Mengepublic boolean isDeleted()
SystemObjectInformationInterfaceGibt 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 SystemObjectInformationInterfacepublic FilePointer getLastFilePosition()
getLastFilePosition in class SystemObjectInformationpublic void setLastFilePosition(FilePointer lastFilePosition)
setLastFilePosition in class SystemObjectInformationpublic java.lang.String toString()
toString in class SystemObjectInformationpublic ConfigAreaFile getConfigAreaFile()
SystemObjectInformationInterfaceGibt die zugehörige Konfigurationsdatei zurück
getConfigAreaFile in interface SystemObjectInformationInterface