ConfigAreaFile
public interface ConfigurationAreaFile
Modifier and Type | Interface | Description |
---|---|---|
static class |
ConfigurationAreaFile.RestructureMode |
Definiert die Art einer Restrukturierung
|
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
Diese Methode wird aufgerufen, wenn das System heruntergefahren soll.
|
ConfigurationObjectInfo |
createConfigurationObject(long objectID,
long typeID,
java.lang.String pid,
java.lang.String name) |
Diese Methode erzeugt ein Konfigurationsobjekt.
|
DynamicObjectInfo |
createDynamicObject(long objectID,
long typeID,
java.lang.String pid,
short simulationVariant,
java.lang.String name,
de.bsvrz.dav.daf.main.config.DynamicObjectType.PersistenceMode persistenceMode) |
Diese Methode erzeugt ein dynamisches Objekt, das sofort gültig ist.
|
void |
flush() |
Diese Methode wird aufgerufen, wenn alle modifizierten Objekte des Konfigurationsbereichs persistent gespeichert werden sollen.
|
void |
forEach(java.util.function.Consumer<? super SystemObjectInformationInterface> consumer) |
Iteriert über alle Objekte in diesem Bereich.
|
void |
forEachMixedObject(java.util.function.Consumer<? super SystemObjectInformationInterface> consumer) |
Iteriert über alle Objekte in der Mischmenge in diesem Bereich.
|
void |
forEachOldConfigurationObject(java.util.function.Consumer<? super ConfigurationObjectInfo> consumer) |
Iteriert über alle Konfigurationsobjekte in den NGA-Blöcken in diesem Bereich.
|
void |
forEachOldDynamicObject(java.util.function.Consumer<? super DynamicObjectInfo> consumer) |
Iteriert über alle dynamischen Objekte im NGDyn-Block in diesem Bereich.
|
SystemObjectInformationInterface[] |
getActualObjects(long typeId) |
Gibt alle aktuellen Objekte zurück, die als TypeId die übergebene TypeId besitzen.
|
SystemObjectInformationInterface[] |
getActualObjects(java.util.Collection<java.lang.Long> typeIds) |
Gibt alle aktuellen Objekte zurück, die als TypeId einen der übergebenen TypeIds besitzen.
|
ConfigurationObjectInfo |
getConfigurationAreaInfo() |
Diese Methode gibt Informationen über das Konfigurationsobjekt zurück, das den Konfigurationsbereich darstellt.
|
SystemObjectInformationInterface[] |
getCurrentObjects() |
Diese Methode gibt alle dynamischen Objekte und Konfigurationsobjekte zurück, die in der aktuellen Version aktuell sind.
|
long |
getGreatestId() |
Diese Methode gibt die größte vergebene laufende Nummer einer Id des Konfigurationsbereichs zurück.
|
SystemObjectInformationInterface[] |
getNewObjects() |
Diese Methode gibt alle Konfigurationsobjekte zurück, die in einer zukünftigen Version aktuell werden.
|
short |
getNextActiveVersion() |
Liefert die Version, ab der neu erstellte Konfigurationsobjekte gültig werden.
|
SystemObjectInformationInterface[] |
getObjects(long startTime,
long endTime,
ConfigurationAreaTime kindOfTime,
de.bsvrz.dav.daf.main.config.TimeSpecificationType timeSpecificationType,
java.util.Collection<java.lang.Long> typeIds) |
Diese Methode gibt alle dynamischen Objekte und Konfigurationsobjekte zurück, die innerhalb des angegebenen Zeitbereichs gültig waren und deren TypeId
gleich einer der übergebenen TypeIdŽs ist.
|
java.util.List<SystemObjectInformationInterface> |
getObjects(java.lang.String pid,
long startTime,
long endTime,
ConfigurationAreaTime kindOfTime,
short simulationVariant) |
Diese Methode gibt Objekte zurück, die in dem angegebenen Zeibereich gültig waren.
|
SystemObjectInformationInterface |
getOldObject(long id) |
Diese Methode gibt ein Objekt zurück, das als ungültig markiert wurde.
|
SystemObjectInformationInterface[] |
getOldObjects(java.util.SortedSet<java.lang.Long> ids) |
Diese Methode tut das gleiche wie
getOldObject(long) , aber für mehrere IDs gleichzeitig. |
int |
getSerializerVersion() |
Alle Daten, die als Byte-Array gespeichert werden müssen, werden mit einem Serializer
Serializer erstellt. |
boolean |
initialVersionRestructure() |
Diese Methode wird aufgerufen, wenn der Konfigurationsverantwortliche eine neue Version aktiviert.
|
void |
markObjectsForDeletion(java.util.List<java.lang.Long> objectsToDelete) |
Markiert eine Menge von dynamischen Objekten als ausreichend als und nicht mehr Referenziert, sodass diese ggf. beim nächsten Neustart
endgültig gelöscht werden können.
|
boolean |
referenceAllowed(SystemObjectInformationInterface systemObjectInfo) |
Prüft, ob ein angegebenenes Objekt von anderen Objekten referenzert werden darf
|
boolean |
restructure() |
Deprecated.
Bitte Restrukturierungsart angeben
|
void |
restructure(ConfigurationAreaFile.RestructureMode mode) |
Diese Methode reorganisiert eine Konfigurationsbereichsdatei.
|
void |
setNextActiveVersion(short nextActiveVersion) |
Legt die Version fest mit der Konfigurationsobjekte, die mit
createConfigurationObject(long, long, java.lang.String, java.lang.String) erzeugt werden, gültig werden. |
ConfigurationObjectInfo getConfigurationAreaInfo()
void flush() throws java.io.IOException
java.io.IOException
- Fehler beim Zugriff auf die Datei in der der Konfigurationsbereich gespeichert istvoid close() throws java.io.IOException
flush()
und ein Zustand
hergestellt werden, mit dem das System zu einem späteren Zeitpunkt wieder hochgefahren werden kann.java.io.IOException
- Fehler beim Zugriff auf die Datei in der der Konfigurationsbereich gespeichert istDynamicObjectInfo createDynamicObject(long objectID, long typeID, java.lang.String pid, short simulationVariant, java.lang.String name, de.bsvrz.dav.daf.main.config.DynamicObjectType.PersistenceMode persistenceMode) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
objectID
- ID des ObjektstypeID
- Typ des Objekts, der Typ wird über die ID festgelegtpid
- Pid des ObjektssimulationVariant
- Simulationsvariante unter der das dynamische Objekt gültig istname
- Name des Objekts, null
wird als "" interpretiertpersistenceMode
- Soll das dynamische Objekte persistent gespeichert werdenjava.lang.IllegalArgumentException
- Die übergebene Id des Objekts muss größer als die größte Id des Konfigurationsbereichs seinjava.lang.IllegalStateException
getGreatestId()
ConfigurationObjectInfo createConfigurationObject(long objectID, long typeID, java.lang.String pid, java.lang.String name) throws java.lang.IllegalStateException, java.lang.IllegalArgumentException
objectID
- ID des ObjektstypeID
- Typ des Objekts, der Typ wird über die ID festgelegtpid
- Pid des Objektsname
- Name des Objekts, null
wird als "" interpretiertjava.lang.IllegalStateException
- Die Version, mit der das Objekt gültig werden soll, wurde noch nicht mit setNextActiveVersion(short)
festgelegtjava.lang.IllegalArgumentException
- Die übergebene Id des Objekts muss größer als die größte Id des Konfigurationsbereichs seingetGreatestId()
SystemObjectInformationInterface[] getCurrentObjects()
SystemObjectInformationInterface[] getActualObjects(long typeId)
typeId
- TypeId, die ein Objekt besitzen muss, damit es zurückgegeben wirdSystemObjectInformationInterface[] getActualObjects(java.util.Collection<java.lang.Long> typeIds)
typeIds
- TypeIds, die ein Objekt besitzen muss, damit es zurückgegeben wirdSystemObjectInformationInterface[] getObjects(long startTime, long endTime, ConfigurationAreaTime kindOfTime, de.bsvrz.dav.daf.main.config.TimeSpecificationType timeSpecificationType, java.util.Collection<java.lang.Long> typeIds)
timeSpecificationType
bestimmt, wann/wie lange ein Objekt gültig gewesen sein muss um
in die Lösung aufgenommen zu werden.
startTime
- Zeitpunkt, ab der ein Objekt gültig sein muss, um zurückgegeben zu werdenendTime
- Zeitpunkt, bis zu der Objekte zurückgegeben werdenkindOfTime
- Ein Konfigurationsobjekt wird mit der Aktivierung einer Version gültig. Da der Konfigurationsverantwortliche die Version zu
einem früheren Zeitpunkt aktiviert haben kann, als die lokale Konfiguration, legt dieser Parameter fest, welcher Zeitpunkt für
ein Konfigurationsobjekt benutzt werden soll an dem es als "gültig" markiert wurde.timeSpecificationType
- Gibt die Art und Weise an, wie der Zeitraum zu betrachten ist.typeIds
- Liste von TypeIdŽs. Damit ein Objekt zurückgegeben wird, muss die TypeId des Objekts mit einer TypeId in der Liste
übereinstimmenSystemObjectInformationInterface[] getNewObjects()
void forEach(java.util.function.Consumer<? super SystemObjectInformationInterface> consumer)
consumer
- Java-8-Style Consumer, an den jedes gefundene Objekt übergeben wirdvoid forEachOldConfigurationObject(java.util.function.Consumer<? super ConfigurationObjectInfo> consumer)
consumer
- Java-8-Style Consumer, an den jedes gefundene Objekt übergeben wirdvoid forEachOldDynamicObject(java.util.function.Consumer<? super DynamicObjectInfo> consumer)
consumer
- Java-8-Style Consumer, an den jedes gefundene Objekt übergeben wirdvoid forEachMixedObject(java.util.function.Consumer<? super SystemObjectInformationInterface> consumer)
consumer
- Java-8-Style Consumer, an den jedes gefundene Objekt übergeben wirdSystemObjectInformationInterface getOldObject(long id)
null
zurückgegeben.id
- Id des geforderten Objektsnull
SystemObjectInformationInterface[] getOldObjects(java.util.SortedSet<java.lang.Long> ids)
getOldObject(long)
, aber für mehrere IDs gleichzeitig.
Dadurch kann die Performance wesentlich gesteigert werden.
Die optimierte Implementierung setzt voraus, dass die IDs bereits natürlich sortiert übergeben werden. Das wird von der Implementierung nicht überprüft!
ids
- Objekt-IDs aufsteigend sortiertjava.util.List<SystemObjectInformationInterface> getObjects(java.lang.String pid, long startTime, long endTime, ConfigurationAreaTime kindOfTime, short simulationVariant)
pid
- Pid, über die die Objekte identifiziert werdenstartTime
- Zeitpunkt, ab dem ein Objekt mit der angegebenen Pid gültig gewesen sein muss um zurückgegeben zu werden. War das Objekt vor dem
angegebenen Zeitraum bereits gültig, so wird es ebenfalls zurückgegeben.endTime
- Zeitpunkt, bis zu dem ein Objekt mit der angegebenen Pid gültig gewesen sein muss um zurückgegeben zu werden. Ist das Objekt über diesen
Zeitraum hinweg gültig, so wird es ebenfalls zurückgegeben. Der Zeitpunkt darf nicht in der Zukunft liegen, der größt mögliche Zeitpunkt
ist die aktuelle Zeit.kindOfTime
- Legt fest, welcher Zeitpunkt bei einer aktivierten Version benutzt wird. Der Zeitpunkt der lokalen Aktivierung einer Version oder aber der
Zeitpunkt der Aktivierung durch den Konfigurationsverantwortlichen.simulationVariant
- Zusätzlich zu berücksichtigende Simulationsvariante (außer 0). Es wird nicht nach dieser Simulationsvariante gefilert,
d. h. wenn der Aufrufer nur Objekte benötigt, die innerhalb einer speziellen Simulation gültig sind,
dann muss er selbst die zurückgegebenen Objekte noch einmal selbst filtern und dabei auch die in der
Simulationsstrecke definierten Typen beachten.int getSerializerVersion()
Serializer
erstellt. Die benutzte Version ist in der
gesamten Datei identisch. Ein Versionswechsel innerhalb der Datei ohne die Konvertierung aller Daten auf die neue Version ist nicht gestattet.void setNextActiveVersion(short nextActiveVersion)
createConfigurationObject(long, long, java.lang.String, java.lang.String)
erzeugt werden, gültig werden.nextActiveVersion
- Version, mit der Konfigurationsobjekte gültig werden. Die erste Version, mit der ein Objekt gültig sein kann, ist die 1. Die
Versionen sind positive Ganzzahlen, die fortlaufend nummeriert sind.short getNextActiveVersion()
@Deprecated boolean restructure()
Diese Methode darf nur durch den Konfigrationsverantwortlichen aufgerufen werden.
void restructure(ConfigurationAreaFile.RestructureMode mode) throws java.io.IOException
Diese Methode darf nur durch den Konfigurationsverantwortlichen aufgerufen werden.
mode
- Restrukturierungsart (siehe RestructureMode
java.io.IOException
- Falls ein Fehler bei der Restrukturierung auftrat. In diesem Fall bleibt der vorherige Zustand erhalten.boolean initialVersionRestructure()
restructure()
long getGreatestId()
void markObjectsForDeletion(java.util.List<java.lang.Long> objectsToDelete)
objectsToDelete
- Menge mit zu löschenden dynamischen Objekten dieses Bereichs (Objekt-IDs)boolean referenceAllowed(SystemObjectInformationInterface systemObjectInfo)
systemObjectInfo
- Objekt-Info (Objekt sollte zum aktuellen Bereich gehören)zu Löschen markiert
wurde,
sonst false