|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.sys.funclib.dataIdentificationSettings.SettingsManager
public class SettingsManager
Diese Klasse dient zur Verwaltung von Parametersätzen mit Einstellungen die sich auf Datenidentifikationen beziehen. Derartige Parameterdatensätze werden z.B. zur Steuerung des Archivverhaltens (atg.archiv) und der Parametrierung (atg.parametrierung) eingesetzt. Über die Parameterdatensätze können in einzelnen Einträgen mit Hilfe von Aufzählungen und Wildcards Einstellungen für viele Datenidentifikation auf einmal eingeben werden.
Nested Class Summary | |
---|---|
(package private) class |
SettingsManager.ChangeNotifier
|
(package private) static class |
SettingsManager.NotificationObject
|
(package private) static class |
SettingsManager.NotificationType
|
private class |
SettingsManager.Receiver
Klasse, die zur Entgegennahme der Parameterdatensätze vom Datenverteiler die entsprechende Update-Methode implementiert. |
private class |
SettingsManager.RegisterDynamicListener
Klasse, die sich auf Änderungen von dynamischen Objekten (erstellen und ungültig setzen), ObjektTypen und änderbaren Mengen anmeldet. |
Field Summary | |
---|---|
private boolean |
_aspectUsed
|
(package private) SettingsManager.ChangeNotifier |
_changeNotifier
Runnable-Objekt des Threads, der asynchron die Änderungen der Einstellungen und dynamischen Objekten/Mengen verarbeitet und die angemeldeten Listener informiert. |
private ClientDavInterface |
_connection
|
private static Debug |
_debug
|
private Set<DynamicObject> |
_dynamicObjects
Die dynamischen Objekte werden hier gespeichert, da zur Laufzeit diese Objekte ungültig werden können und dann müssen die Einstellungen neu publiziert werden. |
private Set<DynamicObjectType> |
_dynamicObjectTypes
Die dynamischen Objekt-Typen werden hier gespeichert, da zur Laufzeit Objekte dieser Typen erstellt und auf ungültig gesetzt werden können. |
private List<EndOfSettingsListener> |
_endOfSettingsListener
|
private Set<AttributeGroup> |
_excludedAttributeGroups
Dieses Set speichert alle Attributgruppen, die über den SettingsManager nicht angemeldet werden dürfen. |
private Data |
_lastSettingsData
Speichert den zuletzt empfangenen Datensatz mit den Einstellungen. |
private Set<MutableSet> |
_mutableSets
Die änderbaren Mengen werden hier gespeichert, da sich zur Laufzeit der Inhalt der Elemente ändern kann. |
private DataIdentification |
_parameterIdentification
|
private ClientReceiverInterface |
_receiver
|
private SettingsManager.RegisterDynamicListener |
_registerDynamicListener
Wurden dynamische Typen angegeben, so registriert sich dieses Objekt bei diesen, um Änderungen mitzubekommen. |
private Map<DataIdentification,Data> |
_settingsTable
|
private short |
_simulationVariantForTypeAndSetWildcardExpansion
|
private boolean |
_simulationVariantUsed
|
private List<UpdateListener> |
_updateListeners
|
Constructor Summary | |
---|---|
SettingsManager(ClientDavInterface connection,
DataIdentification parameterIdentification)
Erzeugt ein neues Verwaltungsobjekt. |
|
SettingsManager(ClientDavInterface connection,
DataIdentification parameterIdentification,
short simulationVariantForTypeAndSetWildcardExpansion)
Erzeugt ein neues Verwaltungsobjekt. |
Method Summary | |
---|---|
private void |
activateSettings(Map<DataIdentification,Data> newSettingsTable)
Iteriert über die Tabelle mit den Einstellungen je Datenidentifikation und informiert die angemeldeten Beobachter über Änderungen an den Einstellungen je Datenidentifikation. |
void |
addEndOfSettingsListener(EndOfSettingsListener listener)
Ergänzt die Liste der Beobachter, die informiert werden wollen, sobald alle Einstellungen abgearbeitet wurden. |
void |
addUpdateListener(UpdateListener listener)
Ergänzt die Liste der Beobachter, die bei Änderung des Parameters zu informieren sind, um einen weiteren Eintrag. |
private void |
extractSettings(Data settingsData,
Map<DataIdentification,Data> newSettings)
Aktualisiert die Tabelle mit den Einstellungen je Datenidentifikation mit den jeweiligen Einstellungen aus dem übergebenen Datensatz. |
private boolean |
hasMatchingAttributGroupUsage(DynamicObjectType toBeRegisteredType,
Set<AttributeGroup> specifiedAtgs,
Set<Aspect> specifiedAspects)
Prüft, ob an dem angegebenen dynamischen Typ passende Attributgruppen und Aspekte Online verwendet werden können. |
private void |
notifyEndOfSettings()
Iteriert über alle Beobachter, die informiert werden wollen, sobald alle Einstellungen an den UpdateListener geschickt wurden. |
private void |
notifySettings(DataIdentification dataIdentification,
Data oldSettings,
Data newSettings)
Iteriert über alle Beobachter und gibt die Datenidentifikation mit alten und neuen Einstellungen an die update(...) Methode
weiter. |
private void |
registerDynamicObjects(Set<DynamicObject> dynamicObjects)
Anmeldungen bei den relevanten dynamischen Objekten. |
private void |
registerDynamicObjectType(Set<DynamicObjectType> registeredDynamicObjectTypes,
DynamicObjectType toBeRegisteredType)
Registriert den angegebenen dynamischen Typ zur Anmeldung auf neue und gelöschte Objekte. |
private void |
registerDynamicObjectTypeOrSubTypes(Set<DynamicObjectType> registeredDynamicObjectTypes,
DynamicObjectType toBeRegisteredType,
Set<AttributeGroup> specifiedAtgs,
Set<Aspect> specifiedAspects)
Registriert den angegebenen dynamischen Typ oder Sub-Typen davon zur Anmeldung auf neue und gelöschte Objekte, falls am Typ bzw. |
private void |
registerDynamicObjectTypes(Set<DynamicObjectType> dynamicObjectTypes)
Anmeldungen bei den relevanten dynamischen Objekt-Typen. |
private void |
registerMutableSets(Set<MutableSet> mutableSets)
Anmeldungen bei den relevanten änderbaren Mengen auf Änderung. |
void |
removeEndOfSettingsListener(EndOfSettingsListener listener)
Löscht einen Beobachter aus der Liste der Beobachter, die informiert werden wollen, sobald alle Einstellungen abgearbeitet wurden. |
private SystemObject[] |
removeNullReferences(SystemObject[] objects)
|
void |
removeUpdateListener(UpdateListener listener)
Löscht einen Beobachter aus der Liste der Beobachter, die bei Änderung des Parameters zu informieren sind. |
void |
start()
Meldet die im Konstruktor übergebene Datenidentifikation an und startet damit auch die Verarbeitung und Weitergabe der alten und neuen Einstellungen pro Datenidentifikation aus erhaltenen Parameterdatensätzen an die angemeldeten Beobachter. |
void |
stop()
Meldet die im Konstruktor übergebene Datenidentifikation wieder ab und beendet damit auch die Verarbeitung und Weitergabe der alten und neuen Einstellungen pro Datenidentifikation aus erhaltenen Parameterdatensätzen an die angemeldeten Beobachter. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final Debug _debug
private final ClientDavInterface _connection
private final DataIdentification _parameterIdentification
private short _simulationVariantForTypeAndSetWildcardExpansion
private final List<UpdateListener> _updateListeners
private final List<EndOfSettingsListener> _endOfSettingsListener
private ClientReceiverInterface _receiver
private Map<DataIdentification,Data> _settingsTable
private final boolean _aspectUsed
private final boolean _simulationVariantUsed
private final Set<AttributeGroup> _excludedAttributeGroups
private final Set<DynamicObjectType> _dynamicObjectTypes
private final Set<DynamicObject> _dynamicObjects
private final Set<MutableSet> _mutableSets
private final SettingsManager.RegisterDynamicListener _registerDynamicListener
private Data _lastSettingsData
SettingsManager.ChangeNotifier _changeNotifier
Constructor Detail |
---|
public SettingsManager(ClientDavInterface connection, DataIdentification parameterIdentification)
connection
- Verbindung zum DatenverteilerparameterIdentification
- der Parameterdatensatzpublic SettingsManager(ClientDavInterface connection, DataIdentification parameterIdentification, short simulationVariantForTypeAndSetWildcardExpansion)
connection
- Verbindung zum DatenverteilerparameterIdentification
- der ParameterdatensatzsimulationVariantForTypeAndSetWildcardExpansion
- Simulationsvariante, die beim Zugriff auf dynamische Mengen und dynamischen Typen zur Auflösung
von Wildcards verwendet werden soll.Method Detail |
---|
public void addUpdateListener(UpdateListener listener)
listener
- Neuer Beobachter.public void removeUpdateListener(UpdateListener listener)
listener
- Zu löschender Beobachter.public void addEndOfSettingsListener(EndOfSettingsListener listener)
listener
- neuer Beobachterpublic void removeEndOfSettingsListener(EndOfSettingsListener listener)
listener
- zu löschender Beobachterpublic void start()
IllegalStateException
- Wenn der Manager bereits gestartet wurde.public void stop()
private void extractSettings(Data settingsData, Map<DataIdentification,Data> newSettings)
settingsData
- newSettings
- die neuen Einstellungenprivate void registerMutableSets(Set<MutableSet> mutableSets)
mutableSets
- die relevanten änderbaren Mengenprivate void registerDynamicObjects(Set<DynamicObject> dynamicObjects)
dynamicObjects
- die relevanten dynamischen Objekteprivate void registerDynamicObjectTypeOrSubTypes(Set<DynamicObjectType> registeredDynamicObjectTypes, DynamicObjectType toBeRegisteredType, Set<AttributeGroup> specifiedAtgs, Set<Aspect> specifiedAspects)
registeredDynamicObjectTypes
- Bereits registrierte Typen. Die neu registrierten Typen werden in dieses Set hinzugefügt.toBeRegisteredType
- Zu betrachtender dynamischer Typ.specifiedAtgs
- Relevante Attributgruppen. Ein leeres Set wird als Wildcard für alle Attributgruppen berücksichtigt.specifiedAspects
- Relevante Aspekte. Ein leeres Set wird als Wildcard für alle Aspekte berücksichtigt.private boolean hasMatchingAttributGroupUsage(DynamicObjectType toBeRegisteredType, Set<AttributeGroup> specifiedAtgs, Set<Aspect> specifiedAspects)
toBeRegisteredType
- Zu betrachtender dynamischer Typ.specifiedAtgs
- Relevante Attributgruppen. Ein leeres Set wird als Wildcard für alle Attributgruppen berücksichtigt.specifiedAspects
- Relevante Aspekte. Ein leeres Set wird als Wildcard für alle Aspekte berücksichtigt.
true
falls es mindestens eine passende Attributgruppen-Aspekt-Kombination am zu betrachtenden Typ gibt, sonst false
.private void registerDynamicObjectType(Set<DynamicObjectType> registeredDynamicObjectTypes, DynamicObjectType toBeRegisteredType)
registeredDynamicObjectTypes
- Bereits registrierte Typen. Der neu registrierte Typ wird in dieses Set hinzugefügt.toBeRegisteredType
- Zu registrierender dynamischer Typ.private void registerDynamicObjectTypes(Set<DynamicObjectType> dynamicObjectTypes)
dynamicObjectTypes
- die relevante Objekt-Typenprivate SystemObject[] removeNullReferences(SystemObject[] objects)
private void activateSettings(Map<DataIdentification,Data> newSettingsTable)
newSettingsTable
- Map mit Einstellungen je Datenidentifikationprivate void notifySettings(DataIdentification dataIdentification, Data oldSettings, Data newSettings)
update(...)
Methode
weiter.
dataIdentification
- Betroffene Datenidentifikation.oldSettings
- Zur Datenidentifikation gehörende Einstellung vor der Änderung oder null
wenn es vor der Änderung keinen spezifischen
Eintrag gab.newSettings
- Zur Datenidentifikation gehörende Einstellung nach der Änderung oder null
private void notifyEndOfSettings()
UpdateListener
geschickt wurden.
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |