Package de.bsvrz.dav.daf.main.config
Interface ConfigurationObject
-
- All Superinterfaces:
java.lang.Comparable
,SystemObject
- All Known Subinterfaces:
Aspect
,Attribute
,AttributeGroup
,AttributeGroupUsage
,AttributeListDefinition
,AttributeSet
,AttributeType
,ConfigurationArea
,ConfigurationAuthority
,ConfigurationObjectType
,DavApplication
,DoubleAttributeType
,DynamicObjectType
,IntegerAttributeType
,IntegerValueRange
,IntegerValueState
,MutableCollection
,MutableSet
,NonMutableSet
,ObjectSet
,ObjectSetType
,ObjectSetUse
,ReferenceAttributeType
,StringAttributeType
,SystemObjectType
,TimeAttributeType
- All Known Implementing Classes:
DafAspect
,DafAttribute
,DafAttributeGroup
,DafAttributeGroupUsage
,DafAttributeListDefinition
,DafAttributeSet
,DafAttributeType
,DafConfigurationArea
,DafConfigurationAuthority
,DafConfigurationObject
,DafConfigurationObjectType
,DafDavApplication
,DafDoubleAttributeType
,DafDynamicObjectType
,DafIntegerAttributeType
,DafIntegerValueRange
,DafIntegerValueState
,DafMutableSet
,DafNonMutableSet
,DafObjectSet
,DafObjectSetType
,DafObjectSetUse
,DafReferenceAttributeType
,DafStringAttributeType
,DafSystemObjectType
,DafTimeAttributeType
public interface ConfigurationObject extends SystemObject
Schnittstelle zum Zugriff auf die Eigenschaften eines Konfigurationsobjektes. Konfigurationsobjekte haben neben den Eigenschaften aller System-Objekte eine verantwortliche Instanz (Zuständiger), eine Version der Konfiguration ab der das Objekt gültig ist und eine Version der Konfiguration ab der das Objekt nicht mehr gültig ist.
Die verantwortliche Instanz macht eine Aussage darüber in welcher Umgebung Konfigurationsänderungen für das Objekt durchgeführt werden können. Dies ist für Anwendungsobjekte üblicherweise eine Verkehrsrechnerzentrale oder eine Unterzentrale und für Objekte des Datenmodells eine globale Instanz.
In einer Konfiguration können Konfigurationsobjekte von verschiedenen verantwortlichen Instanzen gespeichert werden. Jede Konfiguration verwaltet für jede verantwortliche Instanz zu der sie Objekte gespeichert hat eine lokal aktivierte Versionsnummer die nicht unbedingt mit der in der verantwortlichen Instanz aktivierten Versionsnummer übereinstimmen muss. Beispielsweise können in der Konfiguration einer VRZ die Konfigurationsobjekte einer UZ übernommen werden. Die VRZ verwaltet dann für die übernommene Konfiguration eine lokale Versionsnummer.
Die Versionsnummern ab der ein Konfigurationsobjekt gültig bzw. nicht mehr gültig ist bezieht sich immer auf die lokal aktivierte Versionsnummer der verantwortlichen Instanz des jeweiligen Objekts. Wenn in der VRZ die lokal aktivierte Version der UZ-Konfiguration kleiner als die in der UZ aktivierten Version ist, dann werden z.B. die neusten Objekte der UZ in der VRZ als noch nicht gültig angesehen, obwohl sie in der UZ schon gültig sind.
Die Schnittstelle bietet außerdem Möglichkeiten, um auf die einem Konfigurationsobjekt zugeordneten benannten Objekt-Mengen zuzugreifen.
-
-
Method Summary
Modifier and Type Method Description void
addSet(ObjectSet set)
Ordnet dem Konfigurationsobjekt eine weitere Menge zu.SystemObject
duplicate()
Dupliziert ein Konfigurationsobjekt.SystemObject
duplicate(java.util.Map<java.lang.String,java.lang.String> substitudePids)
Dupliziert ein Konfigurationsobjekt.MutableSet
getMutableSet(java.lang.String name)
Liefert eine diesem Konfigurations-Objekt zugeordnete online änderbare Menge zurück.NonMutableSet
getNonMutableSet(java.lang.String name)
Liefert eine diesem Konfigurations-Objekt zugeordnete nicht online änderbare Menge zurück.short
getNotValidSince()
Liefert die Versionsnummer der Konfiguration ab der dieses Konfigurationsobjekt nicht mehr gültig ist.ObjectSet
getObjectSet(java.lang.String name)
Liefert eine diesem Konfigurations-Objekt zugeordnete Objekt-Menge zurück.java.util.List<ObjectSet>
getObjectSets()
Liefert die Liste aller diesem Konfigurationsobjekt zugeordneten Mengen zurück.short
getValidSince()
Liefert die Versionsnummer der Konfiguration ab der dieses Konfigurationsobjekt gültig ist.void
removeSet(ObjectSet set)
Entfernt die Zuordnung von diesem Konfigurationsobjekt zu einer Menge.void
revalidate()
Macht ein bereits als ungültig markiertes Objekt wieder gültig.-
Methods inherited from interface de.bsvrz.dav.daf.main.config.SystemObject
getConfigurationArea, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getName, getNameOrPidOrId, getPid, getPidOrId, getPidOrNameOrId, getType, getUsedAttributeGroupUsages, invalidate, isOfType, isOfType, isValid, setConfigurationData, setConfigurationData, setConfigurationData, setName, toString
-
-
-
-
Method Detail
-
getValidSince
short getValidSince()
Liefert die Versionsnummer der Konfiguration ab der dieses Konfigurationsobjekt gültig ist.- Returns:
- Version ab der das Objekt gültig ist.
-
getNotValidSince
short getNotValidSince()
Liefert die Versionsnummer der Konfiguration ab der dieses Konfigurationsobjekt nicht mehr gültig ist.- Returns:
- Versionsnummer der Konfiguration ab der dieses Konfigurationsobjekt nicht mehr gültig ist. Wenn das Objekt noch nicht mit der Methode
SystemObject.invalidate()
ungültig gemacht worden ist, dann wird der Wert0
zurückgegeben.
-
getNonMutableSet
NonMutableSet getNonMutableSet(java.lang.String name)
Liefert eine diesem Konfigurations-Objekt zugeordnete nicht online änderbare Menge zurück.- Parameters:
name
- Der Name der gewünschten Menge- Returns:
- Gewünschte Konfigurationsmenge oder
null
, wenn die spezifizierte Menge nicht vorhanden ist.
-
getMutableSet
MutableSet getMutableSet(java.lang.String name)
Liefert eine diesem Konfigurations-Objekt zugeordnete online änderbare Menge zurück.- Parameters:
name
- Der Name der gewünschten Menge- Returns:
- Gewünschte dynamische Menge oder
null
, wenn die spezifizierte Menge nicht vorhanden ist.
-
getObjectSet
ObjectSet getObjectSet(java.lang.String name)
Liefert eine diesem Konfigurations-Objekt zugeordnete Objekt-Menge zurück. Wenn die spezifizierte Objekt-Menge nicht online änderbar ist, dann unterstützt die zurückgegebene Menge dieSchnittstelle für nicht online änderbare Mengen
. Wenn die Menge online änderbar ist, dann unterstützt das zurückgegebene Mengenobjekt dieSchnittstelle für online änderbare Mengen
.- Parameters:
name
- Der Name der gewünschten Menge- Returns:
- Menge von System-Objekten oder
null
, wenn die spezifizierte Menge nicht vorhanden ist.
-
getObjectSets
java.util.List<ObjectSet> getObjectSets()
Liefert die Liste aller diesem Konfigurationsobjekt zugeordneten Mengen zurück.- Returns:
- Liste aller Mengen dieses Objekts. Die in der Liste enthaltenen Mengen implementieren je nach Art entweder die
Schnittstelle für nicht online änderbare Mengen
oder dieSchnittstelle für online änderbare Mengen
.
-
revalidate
void revalidate() throws ConfigurationChangeException
Macht ein bereits als ungültig markiertes Objekt wieder gültig. Wenn ein Konfigurationsobjekt mit der MethodeSystemObject.invalidate()
für eine zukünftige Konfigurationsversion als ungültig markiert wurde und diese Konfigurationsversion noch nicht aktiviert wurde, dann kann das Objekt durch Aufruf dieser Methode wieder gültig gemacht werden.- Throws:
ConfigurationChangeException
- Wenn das Objektes nicht wieder gültig gemacht werden konnte.
-
duplicate
SystemObject duplicate() throws ConfigurationChangeException
Dupliziert ein Konfigurationsobjekt. Es ist zu beachten, dass Komponenten nicht isoliert dupliziert werden können, sondern im Sinne der Komposition immer nur ganze Objekt-Einheiten zusammen dupliziert werden können, d.h. ausgehend von einem freien Objekt wird das Objekt mit all seinen Komponenten rekursiv dupliziert. Das Duplikat wird mit Aktivierung der in Bearbeitung befindlichen neuen Version des jeweiligen Konfigurationsbereichs gültig. Da die Pids gleich bleiben, muss zuvor das "alte" Objektgelöscht
werden.- Returns:
- Das Duplikat dieses Konfigurationsobjekts.
- Throws:
ConfigurationChangeException
- Falls das Objekt kein freies Objekt ist und das Duplizieren nicht erlaubt ist oder das Duplikat nicht erstellt werden konnte.- See Also:
duplicate(java.util.Map)
-
duplicate
SystemObject duplicate(java.util.Map<java.lang.String,java.lang.String> substitudePids) throws ConfigurationChangeException
Dupliziert ein Konfigurationsobjekt. Es ist zu beachten, dass Komponenten nicht isoliert dupliziert werden können, sondern im Sinne der Komposition immer nur ganze Objekt-Einheiten zusammen dupliziert werden können, d.h. ausgehend von einem freien Objekt wird das Objekt mit all seinen Komponenten rekursiv dupliziert. Das Duplikat wird mit Aktivierung der in Bearbeitung befindlichen neuen Version des jeweiligen Konfigurationsbereichs gültig.Zu ersetzende Pids der Komponenten können in der Map (altePid, neuePid) übergeben werden. Nicht ersetzte Pids, deren Objekte aber durch Komposition an die Objekt-Einheit gebunden sind, müssen vor Aktivierung
gelöscht
werden.- Parameters:
substitudePids
- Map, die die Wert-Paare (altePid, neuePid) enthält.- Returns:
- Das Duplikat dieses Konfigurationsobjekts.
- Throws:
ConfigurationChangeException
- Falls das Objekt kein freies Objekt ist und das Duplizieren nicht erlaubt ist oder das Duplikat nicht erstellt werden konnte.- See Also:
duplicate()
-
addSet
void addSet(ObjectSet set) throws ConfigurationChangeException
Ordnet dem Konfigurationsobjekt eine weitere Menge zu. Die Zuordnung wird erst mit der nächsten Konfigurationsversion gültig.- Parameters:
set
- Menge, die dem Konfigurationsobjekt zugeordnet werden soll.- Throws:
ConfigurationChangeException
- Wenn die Menge nicht hinzugefügt werden konnte.
-
removeSet
void removeSet(ObjectSet set) throws ConfigurationChangeException
Entfernt die Zuordnung von diesem Konfigurationsobjekt zu einer Menge. Die Änderung wird erst mit der nächsten Konfigurationsversion gültig.- Parameters:
set
- Menge, die entfernt werden soll.- Throws:
ConfigurationChangeException
- Wenn die Menge nicht entfernt werden konnte.
-
-