public class ConfigConfigurationObject extends ConfigSystemObject implements ConfigurationObject
ConfigurationObject
auf Seiten der Konfiguration.Modifier and Type | Class and Description |
---|---|
private static class |
ConfigConfigurationObject.Modification
Ein Enum zur Unterscheidung von Löschen und Wiederbeleben von Konfigurationsobjekten.
|
Modifier and Type | Field and Description |
---|---|
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
private Object |
_lockObject
Wird genutzt um den Zugriff auf das Objekt _sets zu synchronisieren.
|
private Map<String,ObjectSet> |
_sets
Speichert die Mengen dieses Objekts.
|
_systemObjectInfo
Constructor and Description |
---|
ConfigConfigurationObject(ConfigurationArea configurationArea,
SystemObjectInformationInterface systemObjectInfo)
Konstruktor für ein KonfigurationsObjekt.
|
Modifier and Type | Method and Description |
---|---|
void |
addSet(ObjectSet set)
Ordnet dem Konfigurationsobjekt eine weitere Menge zu.
|
(package private) SystemObject |
directDuplicate(ConfigurationObject object,
ConfigurationObject duplicatedObject,
Map<String,String> substitudePids)
Diese Methode erhält ein KonfigurationsObjekt und gibt ein Duplikat zurück.
|
(package private) void |
directModification(ConfigConfigurationObject.Modification mod)
Löscht oder wiederbelebt das Objekt ohne zu prüfen, ob der Konfigurationsverantwortliche das Objekt ändern darf und unabhängig davon, ob es sich um ein
freies Objekt handelt.
|
SystemObject |
duplicate()
Dupliziert ein Konfigurationsobjekt.
|
SystemObject |
duplicate(Map<String,String> substitudePids)
Dupliziert ein Konfigurationsobjekt.
|
private void |
duplicateDependentObjects(Data data,
Map<String,String> substitudePids)
Objekte, die via Komposition referenziert werden, werden dupliziert.
|
MutableSet |
getMutableSet(String name)
Liefert eine diesem Konfigurations-Objekt zugeordnete online änderbare Menge zurück.
|
NonMutableSet |
getNonMutableSet(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(String name)
Liefert eine diesem Konfigurations-Objekt zugeordnete Objekt-Menge zurück.
|
private Map<String,ObjectSet> |
getObjectSetMap()
Ermittelt die Mengen dieses Konfigurationsobjekts und speichert sie in einer Map.
|
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 |
invalidate()
Löscht das Objekt, indem es ungültig gemacht wird.
|
(package private) void |
invalidateCache()
Wird aufgerufen, wenn das Objekt verändert wird.
|
private boolean |
isFreeObject()
Ermittelt, ob dieses Objekt ein freies Objekt ist.
|
private boolean |
isObjectDependsOnDataset(Data data)
Prüft, ob in dem angegebenen Datensatz eine Referenz mittels Komposition auf dieses Objekt verweist.
|
boolean |
isValid()
Bestimmt, ob dieses Objekt zum aktuellen Zeitpunkt gültig ist.
|
private void |
modifyDependentObjects(Data data,
ConfigConfigurationObject.Modification mod)
Objekte, die via Komposition referenziert werden, werden auf
ungültig gesetzt. |
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.
|
private void |
setConfigurationData(Collection<ObjectSet> sets)
Speichert den konfigurierenden Datensatz, der die Mengen enthält, am Objekt und gibt dem Konfigurationsbereich Bescheid, dass sich ein Datensatz geändert
hat.
|
void |
simpleRevalidate() |
checkChangePermit, createConfigurationData, equals, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationDataBytes, getId, getName, getObjectLookupForData, getPid, getSerializerVersion, getType, getUsedAttributeGroupUsages, hashCode, originalHashCode, removeConfigurationData, setConfigurationData, setConfigurationData, setName, simpleInvalidation
compareTo, getConfigurationArea, getConfigurationData, getDataModel, getInfo, getNameOrPidOrId, getPidOrId, getPidOrNameOrId, isOfType, isOfType, setConfigurationData, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getConfigurationArea, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getName, getNameOrPidOrId, getPid, getPidOrId, getPidOrNameOrId, getType, getUsedAttributeGroupUsages, isOfType, isOfType, setConfigurationData, setConfigurationData, setConfigurationData, setName, toString
compareTo
private static final Debug _debug
private final Object _lockObject
public ConfigConfigurationObject(ConfigurationArea configurationArea, SystemObjectInformationInterface systemObjectInfo)
configurationArea
- der Konfigurationsbereich dieses KonfigurationsObjektssystemObjectInfo
- das korrespondierende Objekt für die Dateioperationen dieses KonfigurationsObjektspublic short getValidSince()
de.bsvrz.dav.daf.main.config.ConfigurationObject
getValidSince
in interface ConfigurationObject
public short getNotValidSince()
de.bsvrz.dav.daf.main.config.ConfigurationObject
getNotValidSince
in interface ConfigurationObject
SystemObject.invalidate()
ungültig gemacht worden ist, dann wird der Wert 0
zurückgegeben.public boolean isValid()
de.bsvrz.dav.daf.main.config.SystemObject
Erzeugung
noch nicht gültig, sondern werden erst mit der Aktivierung der nächsten Konfigurationsversion gültig.
Nach dem Löschen
eines Konfigurationsobjekts bleibt es bis zur Aktivierung der nächsten Konfigurationsversion gültig. Dynamische Objekte
werden sofort mit deren Erzeugung
gültig und mit dem Löschen
ungültig.isValid
in interface SystemObject
true
, falls das Objekt gültig ist;false
, falls das Objekt nicht gültig ist.public void invalidate() throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.SystemObject
invalidate
in interface SystemObject
invalidate
in class ConfigSystemObject
ConfigurationChangeException
- Wenn das Objekt nicht ungültig gemacht werden konnte.void directModification(ConfigConfigurationObject.Modification mod)
mod
- gibt an, ob die Objekt-Einheit gelöscht oder wiederbelebt werden sollprivate void modifyDependentObjects(Data data, ConfigConfigurationObject.Modification mod)
ungültig
gesetzt.data
- der zu prüfende Datensatzmod
- gibt an, ob die Objekt-Einheit gelöscht, wiederbelebt oder dupliziert werden sollprivate boolean isFreeObject() throws ConfigurationChangeException
true
, wenn dieses Objekt ein freies Objekt ist, sonst false
ConfigurationChangeException
- Nicht mehr gültige Objekte, können nicht geprüft werden, ob sie freie Objekte sind.private boolean isObjectDependsOnDataset(Data data)
data
- zu prüfenden Datensatztrue
, wenn es eine Referenz mittels Komposition auf dieses Objekt gibt, sonst false
public void revalidate() throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.ConfigurationObject
SystemObject.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.revalidate
in interface ConfigurationObject
ConfigurationChangeException
- Wenn das Objektes nicht wieder gültig gemacht werden konnte.public void simpleRevalidate()
public SystemObject duplicate() throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.ConfigurationObject
gelöscht
werden.duplicate
in interface ConfigurationObject
ConfigurationChangeException
- Falls das Objekt kein freies Objekt ist und das Duplizieren nicht erlaubt ist oder das Duplikat nicht erstellt werden
konnte.ConfigurationObject.duplicate(java.util.Map)
public SystemObject duplicate(Map<String,String> substitudePids) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.ConfigurationObject
gelöscht
werden.duplicate
in interface ConfigurationObject
substitudePids
- Map, die die Wert-Paare (altePid, neuePid) enthält.ConfigurationChangeException
- Falls das Objekt kein freies Objekt ist und das Duplizieren nicht erlaubt ist oder das Duplikat nicht erstellt werden
konnte.ConfigurationObject.duplicate()
SystemObject directDuplicate(ConfigurationObject object, ConfigurationObject duplicatedObject, Map<String,String> substitudePids) throws ConfigurationChangeException
object
- zu duplizierendes KonfigurationsObjektduplicatedObject
- dupliziertes Objekt oder null
, falls es noch dupliziert werden sollsubstitudePids
- Map, die die Wert-Paare (altePid, neuePid) enthält.ConfigurationChangeException
- Falls das Objekt nicht dupliziert werden konnte.private void duplicateDependentObjects(Data data, Map<String,String> substitudePids) throws ConfigurationChangeException
data
- der zu duplizierende DatensatzsubstitudePids
- Map, die die Wert-Paare (altePid, neuePid) enthält.ConfigurationChangeException
- Falls ein via Komposition referenziertes Objekt nicht dupliziert werden konnte.public MutableSet getMutableSet(String name)
de.bsvrz.dav.daf.main.config.ConfigurationObject
getMutableSet
in interface ConfigurationObject
name
- Der Name der gewünschten Mengenull
, wenn die spezifizierte Menge nicht vorhanden ist.public NonMutableSet getNonMutableSet(String name)
de.bsvrz.dav.daf.main.config.ConfigurationObject
getNonMutableSet
in interface ConfigurationObject
name
- Der Name der gewünschten Mengenull
, wenn die spezifizierte Menge nicht vorhanden ist.public ObjectSet getObjectSet(String name)
de.bsvrz.dav.daf.main.config.ConfigurationObject
Schnittstelle für nicht online änderbare Mengen
. Wenn die Menge online änderbar ist, dann unterstützt das
zurückgegebene Mengenobjekt die Schnittstelle für online änderbare Mengen
.getObjectSet
in interface ConfigurationObject
name
- Der Name der gewünschten Mengenull
, wenn die spezifizierte Menge nicht vorhanden ist.private Map<String,ObjectSet> getObjectSetMap()
public List<ObjectSet> getObjectSets()
de.bsvrz.dav.daf.main.config.ConfigurationObject
getObjectSets
in interface ConfigurationObject
Schnittstelle
für nicht online änderbare Mengen
oder die Schnittstelle für online änderbare Mengen
.public void addSet(ObjectSet set) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.ConfigurationObject
addSet
in interface ConfigurationObject
set
- Menge, die dem Konfigurationsobjekt zugeordnet werden soll.ConfigurationChangeException
- Wenn die Menge nicht hinzugefügt werden konnte.public void removeSet(ObjectSet set) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.ConfigurationObject
removeSet
in interface ConfigurationObject
set
- Menge, die entfernt werden soll.ConfigurationChangeException
- Wenn die Menge nicht entfernt werden konnte.private void setConfigurationData(Collection<ObjectSet> sets) throws ConfigurationChangeException
sets
- Die Mengen, die in einem Datensatz gespeichert werden sollen.ConfigurationChangeException
- Falls der konfigurierende Datensatz nicht gespeichert werden konnte.void invalidateCache()
invalidateCache
in class ConfigSystemObject