Class ExtendedUserInfo
java.lang.Object
de.bsvrz.dav.daf.accessControl.internal.DataLoader
de.bsvrz.dav.daf.accessControl.internal.ExtendedUserInfo
- All Implemented Interfaces:
UserInfoInternal,UserInfo
Kapselt für die Rechteverwaltung einen Benutzer und dessen Berechtigungsklassen. Diese Klasse wird von dem neuen Datenmodell verwendet, bei dem
jeder Benutzer mehrere Berechtigungsklassen zugewiesen bekommen kann. Andernfalls wird
OldUserInfo verwendet.-
Field Summary
FieldsFields inherited from class de.bsvrz.dav.daf.accessControl.internal.DataLoader
_debug, _readLock, _writeLock -
Constructor Summary
ConstructorsConstructorDescriptionExtendedUserInfo(ClientDavInterface connection, DafAccessControlManager accessControlManager, SystemObject systemObject) Erstellt eine neue ExtendedUserInfo-Klasse. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChangeListener(AccessControlChangeListener listener) Meldet einen Listener auf geänderte Nutzerrechte anfinal booleanPrüft, ob keine Referenzen mehr vorhanden sind, und das Objekt gelöscht werden darf.voidWenn es ein Problem mit der Rekursion gibt, wird dieses Objekt hiermit angewiesen den Verweis auf das angegebene (Unter-)Objekt zu deaktivieren.final voidDekrementiert den Referenzzähler um eins.protected List<DataLoader>Gibt die untergeordneten Objekte zurück.final SystemObjectgetUser()Gibt den referenzierten Benutzer als Systemobjekt zurückfinal longGibt die ID des Benutzers zurückfinal voidInkrementiert den Referenzzähler um eins.booleanPrüft ob ein Objekt mit den angegeben Daten erstellt, verändert oder gelöscht werden darfbooleanmayModifyObjectSet(ConfigurationArea area, ObjectSetType type) Prüft ob eine Menge mit den angegebenen Daten verändert werden darfbooleanmaySubscribeData(BaseSubscriptionInfo info, UserAction action) Prüft, ob die angegebenen Daten beim Datenverteiler angemeldet werden dürfen.booleanmaySubscribeData(SystemObject object, AttributeGroup attributeGroup, Aspect aspect, UserAction action) Prüft, ob die angegebenen Daten beim Datenverteiler angemeldet werden dürfen.voidEntfernt einen Listener auf geänderte BenutzerrechtetoString()protected voidWird aufgerufen, wenn sich die BenutzerParameter für den aktuellen Benutzer ändern.Methods inherited from class de.bsvrz.dav.daf.accessControl.internal.DataLoader
getDataState, getNoDataTime, getSystemObject, invalidate, isInitialized, startDataListener, stopDataListener, toString, waitForInitialization, waitForInitializationTreeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface de.bsvrz.dav.daf.accessControl.internal.UserInfoInternal
stopDataListener
-
Field Details
-
USER_ATTRIBUTE_GROUP_PID
- See Also:
-
USER_ASPECT_PID
- See Also:
-
-
Constructor Details
-
ExtendedUserInfo
public ExtendedUserInfo(ClientDavInterface connection, DafAccessControlManager accessControlManager, SystemObject systemObject) Erstellt eine neue ExtendedUserInfo-Klasse. Sollte nur im AccessControlManager benutzt werden.- Parameters:
connection- Verbindung zum DatenverteileraccessControlManager- Klasse, die die Rechtesteuerungsklassen verwaltetsystemObject-
-
-
Method Details
-
getUser
Gibt den referenzierten Benutzer als Systemobjekt zurück- Returns:
- den referenzierten Benutzer
-
getUserId
public final long getUserId()Gibt die ID des Benutzers zurück- Returns:
- Id, mit der das Systemobjekt des Benutzers angefordert werden kann.
-
update
Wird aufgerufen, wenn sich die BenutzerParameter für den aktuellen Benutzer ändern.- Parameters:
data- Datenobjekt mit den Daten der Attributgruppe atg.benutzerParameter für den aktuellen Benutzer.
-
getChildObjects
Description copied from class:DataLoaderGibt die untergeordneten Objekte zurück. Z.B. die Rollen und Regionen bei der Berechtigungsklasse oder die Berechtigungsklassen beim Benutzer. Wird gebraucht um Rekursionen zu erkennen und über geänderte Benutzerrechte zu informieren. Achtung: Es werden nur die direkten Kinder zurückzugeben, nicht die "Enkel" usw. - Will man alle "Enkel" usw. haben muss man diese Funktion rekursiv aufrufen.
Hinweis: MitDataLoader.deactivateInvalidChild(DataLoader)deaktivierte Kindelemente werden nicht aufgeführt.- Specified by:
getChildObjectsin classDataLoader- Returns:
- Liste mit untergeordneten Objekten
-
deactivateInvalidChild
Description copied from class:DataLoaderWenn es ein Problem mit der Rekursion gibt, wird dieses Objekt hiermit angewiesen den Verweis auf das angegebene (Unter-)Objekt zu deaktivieren. Beispielsweise könnte eine Rolle angewiesen werden, eine innere Rolle zu deaktivieren, weil sie identisch mit der eigentlichen Rolle ist.- Specified by:
deactivateInvalidChildin classDataLoader- Parameters:
node- Das zu entfernende Kindobjekt
-
maySubscribeData
Description copied from interface:UserInfoPrüft, ob die angegebenen Daten beim Datenverteiler angemeldet werden dürfen.- Parameters:
info- Daten-Anmeldungs-Informationenaction- Art der Datenanmeldung- Returns:
true, wenn die Daten angemeldet werden dürfen, sonstfalse.
-
maySubscribeData
public boolean maySubscribeData(SystemObject object, AttributeGroup attributeGroup, Aspect aspect, UserAction action) Description copied from interface:UserInfoPrüft, ob die angegebenen Daten beim Datenverteiler angemeldet werden dürfen.- Parameters:
object- Objekt, das verwendet wirdattributeGroup- Attributgruppe der Datenaspect- Aspekt der Datenaction- Art der Datenanmeldung- Returns:
true, wenn die Daten angemeldet werden dürfen, sonstfalse.
-
mayCreateModifyRemoveObject
Description copied from interface:UserInfoPrüft ob ein Objekt mit den angegeben Daten erstellt, verändert oder gelöscht werden darf- Parameters:
area- Konfigurationsbereichtype- Typ des Objekts- Returns:
true, wenn das Objekt erstellt werden darf, sonstfalse.
-
mayModifyObjectSet
Description copied from interface:UserInfoPrüft ob eine Menge mit den angegebenen Daten verändert werden darf- Parameters:
area- Konfigurationsbereichtype- Typ der Menge- Returns:
true, wenn die Menge verändert werden darf, sonstfalse.
-
toString
- Overrides:
toStringin classDataLoader
-
addChangeListener
Description copied from interface:UserInfoMeldet einen Listener auf geänderte Nutzerrechte an- Parameters:
listener- Listener
-
removeChangeListener
Description copied from interface:UserInfoEntfernt einen Listener auf geänderte Benutzerrechte- Parameters:
listener- Listener
-
incrementReference
public final void incrementReference()Description copied from interface:UserInfoInternalInkrementiert den Referenzzähler um eins.- Specified by:
incrementReferencein interfaceUserInfoInternal
-
decrementReference
public final void decrementReference()Description copied from interface:UserInfoInternalDekrementiert den Referenzzähler um eins.- Specified by:
decrementReferencein interfaceUserInfoInternal
-
canBeSafelyDeleted
public final boolean canBeSafelyDeleted()Description copied from interface:UserInfoInternalPrüft, ob keine Referenzen mehr vorhanden sind, und das Objekt gelöscht werden darf.- Specified by:
canBeSafelyDeletedin interfaceUserInfoInternal- Returns:
true, wenn der Benutzer vom System abgemeldet wurde.
-