Class ExtendedUserInfo
java.lang.Object
de.bsvrz.dav.daf.accessControl.internal.DataLoader
de.bsvrz.dav.daf.accessControl.internal.ExtendedUserInfo
- All Implemented Interfaces:
UserInfoInternal,UserInfo
public class ExtendedUserInfo extends DataLoader
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
Fields Modifier and Type Field Description protected static java.lang.StringUSER_ASPECT_PIDstatic java.lang.StringUSER_ATTRIBUTE_GROUP_PIDFields inherited from class de.bsvrz.dav.daf.accessControl.internal.DataLoader
_debug, _readLock, _writeLock -
Constructor Summary
Constructors Constructor Description ExtendedUserInfo(ClientDavInterface connection, DafAccessControlManager accessControlManager, SystemObject systemObject)Erstellt eine neue ExtendedUserInfo-Klasse. -
Method Summary
Modifier and Type Method Description voidaddChangeListener(AccessControlChangeListener listener)Meldet einen Listener auf geänderte Nutzerrechte anbooleancanBeSafelyDeleted()Prüft, ob keine Referenzen mehr vorhanden sind, und das Objekt gelöscht werden darf.voiddeactivateInvalidChild(DataLoader node)Wenn es ein Problem mit der Rekursion gibt, wird dieses Objekt hiermit angewiesen den Verweis auf das angegebene (Unter-)Objekt zu deaktivieren.voiddecrementReference()Dekrementiert den Referenzzähler um eins.protected java.util.List<DataLoader>getChildObjects()Gibt die untergeordneten Objekte zurück.SystemObjectgetUser()Gibt den referenzierten Benutzer als Systemobjekt zurücklonggetUserId()Gibt die ID des Benutzers zurückvoidincrementReference()Inkrementiert den Referenzzähler um eins.booleanmayCreateModifyRemoveObject(ConfigurationArea area, SystemObjectType type)Prü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.voidremoveChangeListener(AccessControlChangeListener listener)Entfernt einen Listener auf geänderte Benutzerrechtejava.lang.StringtoString()protected voidupdate(Data data)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, 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
public static final java.lang.String USER_ATTRIBUTE_GROUP_PID- See Also:
- Constant Field Values
-
USER_ASPECT_PID
protected static final java.lang.String USER_ASPECT_PID- See Also:
- Constant Field Values
-
-
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
public java.lang.String 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.
-