class ExtendedUserInfo extends AbstractUserInfo
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.
Modifier and Type | Field and Description |
---|---|
private AccessControlManager |
_accessControlManager |
private java.util.List<AccessControlUnit> |
_accessControlUnits
Liste mit den Berechtigungsklassen, denen der Benutzer angehört.
|
private DataModel |
_dataModel |
private SystemObject |
_user |
private long |
_userId |
protected static java.lang.String |
USER_ATTRIBUTE_GROUP_PID |
USER_ASPECT_PID
_debug, _readLock, _writeLock
Constructor and Description |
---|
ExtendedUserInfo(long userId,
ClientDavInterface connection,
AccessControlManager accessControlManager)
Erstellt eine neue ExtendedUserInfo-Klasse.
|
Modifier and Type | Method and Description |
---|---|
void |
deactivateInvalidChild(DataLoader node)
Wenn es ein Problem mit der Rekursion gibt, wird dieses Objekt hiermit angewiesen den Verweis auf das angegebene (Unter-)Objekt zu deaktivieren.
|
protected java.util.List<DataLoader> |
getChildObjects()
Gibt die untergeordneten Objekte zurück.
|
SystemObject |
getUser()
Gibt den referenzierten Benutzer als Systemobjekt zurück
|
long |
getUserId()
Gibt die ID des Benutzers zurück
|
boolean |
mayCreateModifyRemoveObject(ConfigurationArea area,
SystemObjectType type) |
boolean |
mayModifyObjectSet(ConfigurationArea area,
ObjectSetType type) |
boolean |
maySubscribeData(BaseSubscriptionInfo info,
byte state) |
boolean |
maySubscribeData(BaseSubscriptionInfo info,
UserAction action) |
boolean |
maySubscribeData(SystemObject object,
AttributeGroup attributeGroup,
Aspect aspect,
UserAction action) |
java.lang.String |
toString() |
protected void |
update(Data data)
Wird aufgerufen, wenn sich die BenutzerParameter für den aktuellen Benutzer ändern.
|
canBeSafelyDeleted, decrementReference, incrementReference
getConnection, getDataState, getNoDataTime, getSystemObject, invalidate, isInitialized, startDataListener, stopDataListener, toString, toString, waitForInitialization, waitForInitializationTree
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
stopDataListener
protected static final java.lang.String USER_ATTRIBUTE_GROUP_PID
private final java.util.List<AccessControlUnit> _accessControlUnits
Liste mit den Berechtigungsklassen, denen der Benutzer angehört.
private final DataModel _dataModel
private final AccessControlManager _accessControlManager
private final long _userId
private final SystemObject _user
ExtendedUserInfo(long userId, ClientDavInterface connection, AccessControlManager accessControlManager)
Erstellt eine neue ExtendedUserInfo-Klasse. Sollte nur im AccessControlManager benutzt werden.
userId
- ID des Benutzersconnection
- Verbindung zum DatenverteileraccessControlManager
- Klasse, die die Rechtesteuerungsklassen verwaltetpublic final SystemObject getUser()
Gibt den referenzierten Benutzer als Systemobjekt zurück
public final long getUserId()
Gibt die ID des Benutzers zurück
protected void update(Data data)
AbstractUserInfo
Wird aufgerufen, wenn sich die BenutzerParameter für den aktuellen Benutzer ändern.
update
in class AbstractUserInfo
data
- Datenobjekt mit den Daten der Attributgruppe atg.benutzerParameter für den aktuellen Benutzer.protected java.util.List<DataLoader> getChildObjects()
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 um den HighLevelSubscriptionsManager
ü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: Mit DataLoader.deactivateInvalidChild(DataLoader)
deaktivierte Kindelemente werden nicht aufgeführt.
getChildObjects
in class DataLoader
public void deactivateInvalidChild(DataLoader node)
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.
deactivateInvalidChild
in class DataLoader
node
- Das zu entfernende Kindobjektpublic boolean maySubscribeData(BaseSubscriptionInfo info, byte state)
public boolean maySubscribeData(BaseSubscriptionInfo info, UserAction action)
public boolean maySubscribeData(SystemObject object, AttributeGroup attributeGroup, Aspect aspect, UserAction action)
public boolean mayCreateModifyRemoveObject(ConfigurationArea area, SystemObjectType type)
public boolean mayModifyObjectSet(ConfigurationArea area, ObjectSetType type)
public java.lang.String toString()
toString
in class DataLoader