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 TypeMethodDescriptionvoid
addChangeListener
(AccessControlChangeListener listener) Meldet einen Listener auf geänderte Nutzerrechte anfinal boolean
Prüft, ob keine Referenzen mehr vorhanden sind, und das Objekt gelöscht werden darf.void
Wenn es ein Problem mit der Rekursion gibt, wird dieses Objekt hiermit angewiesen den Verweis auf das angegebene (Unter-)Objekt zu deaktivieren.final void
Dekrementiert den Referenzzähler um eins.protected List<DataLoader>
Gibt die untergeordneten Objekte zurück.final SystemObject
getUser()
Gibt den referenzierten Benutzer als Systemobjekt zurückfinal long
Gibt die ID des Benutzers zurückfinal void
Inkrementiert den Referenzzähler um eins.boolean
Prüft ob ein Objekt mit den angegeben Daten erstellt, verändert oder gelöscht werden darfboolean
mayModifyObjectSet
(ConfigurationArea area, ObjectSetType type) Prüft ob eine Menge mit den angegebenen Daten verändert werden darfboolean
maySubscribeData
(BaseSubscriptionInfo info, UserAction action) Prüft, ob die angegebenen Daten beim Datenverteiler angemeldet werden dürfen.boolean
maySubscribeData
(SystemObject object, AttributeGroup attributeGroup, Aspect aspect, UserAction action) Prüft, ob die angegebenen Daten beim Datenverteiler angemeldet werden dürfen.void
Entfernt einen Listener auf geänderte BenutzerrechtetoString()
protected void
Wird 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, waitForInitializationTree
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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:DataLoader
Gibt 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:
getChildObjects
in classDataLoader
- Returns:
- Liste mit untergeordneten Objekten
-
deactivateInvalidChild
Description copied from class:DataLoader
Wenn 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:
deactivateInvalidChild
in classDataLoader
- Parameters:
node
- Das zu entfernende Kindobjekt
-
maySubscribeData
Description copied from interface:UserInfo
Prü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:UserInfo
Prü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:UserInfo
Prü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:UserInfo
Prü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:
toString
in classDataLoader
-
addChangeListener
Description copied from interface:UserInfo
Meldet einen Listener auf geänderte Nutzerrechte an- Parameters:
listener
- Listener
-
removeChangeListener
Description copied from interface:UserInfo
Entfernt einen Listener auf geänderte Benutzerrechte- Parameters:
listener
- Listener
-
incrementReference
public final void incrementReference()Description copied from interface:UserInfoInternal
Inkrementiert den Referenzzähler um eins.- Specified by:
incrementReference
in interfaceUserInfoInternal
-
decrementReference
public final void decrementReference()Description copied from interface:UserInfoInternal
Dekrementiert den Referenzzähler um eins.- Specified by:
decrementReference
in interfaceUserInfoInternal
-
canBeSafelyDeleted
public final boolean canBeSafelyDeleted()Description copied from interface:UserInfoInternal
Prüft, ob keine Referenzen mehr vorhanden sind, und das Objekt gelöscht werden darf.- Specified by:
canBeSafelyDeleted
in interfaceUserInfoInternal
- Returns:
true
, wenn der Benutzer vom System abgemeldet wurde.
-