Class 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 Detail

      • 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 Detail

      • ExtendedUserInfo

        public ExtendedUserInfo​(ClientDavInterface connection,
                                DafAccessControlManager accessControlManager,
                                SystemObject systemObject)
        Erstellt eine neue ExtendedUserInfo-Klasse. Sollte nur im AccessControlManager benutzt werden.
        Parameters:
        connection - Verbindung zum Datenverteiler
        accessControlManager - Klasse, die die Rechtesteuerungsklassen verwaltet
        systemObject -
    • Method Detail

      • getUser

        public final SystemObject 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

        protected void update​(Data data)
        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

        protected java.util.List<DataLoader> 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: Mit DataLoader.deactivateInvalidChild(DataLoader) deaktivierte Kindelemente werden nicht aufgeführt.
        Specified by:
        getChildObjects in class DataLoader
        Returns:
        Liste mit untergeordneten Objekten
      • deactivateInvalidChild

        public void deactivateInvalidChild​(DataLoader node)
        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 class DataLoader
        Parameters:
        node - Das zu entfernende Kindobjekt
      • maySubscribeData

        public boolean maySubscribeData​(BaseSubscriptionInfo info,
                                        UserAction action)
        Description copied from interface: UserInfo
        Prüft, ob die angegebenen Daten beim Datenverteiler angemeldet werden dürfen.
        Parameters:
        info - Daten-Anmeldungs-Informationen
        action - Art der Datenanmeldung
        Returns:
        true, wenn die Daten angemeldet werden dürfen, sonst false.
      • 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 wird
        attributeGroup - Attributgruppe der Daten
        aspect - Aspekt der Daten
        action - Art der Datenanmeldung
        Returns:
        true, wenn die Daten angemeldet werden dürfen, sonst false.
      • mayCreateModifyRemoveObject

        public boolean mayCreateModifyRemoveObject​(ConfigurationArea area,
                                                   SystemObjectType type)
        Description copied from interface: UserInfo
        Prüft ob ein Objekt mit den angegeben Daten erstellt, verändert oder gelöscht werden darf
        Parameters:
        area - Konfigurationsbereich
        type - Typ des Objekts
        Returns:
        true, wenn das Objekt erstellt werden darf, sonst false.
      • mayModifyObjectSet

        public boolean mayModifyObjectSet​(ConfigurationArea area,
                                          ObjectSetType type)
        Description copied from interface: UserInfo
        Prüft ob eine Menge mit den angegebenen Daten verändert werden darf
        Parameters:
        area - Konfigurationsbereich
        type - Typ der Menge
        Returns:
        true, wenn die Menge verändert werden darf, sonst false.
      • addChangeListener

        public void addChangeListener​(AccessControlChangeListener listener)
        Description copied from interface: UserInfo
        Meldet einen Listener auf geänderte Nutzerrechte an
        Parameters:
        listener - Listener
      • removeChangeListener

        public void removeChangeListener​(AccessControlChangeListener listener)
        Description copied from interface: UserInfo
        Entfernt einen Listener auf geänderte Benutzerrechte
        Parameters:
        listener - Listener
      • 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 interface UserInfoInternal
        Returns:
        true, wenn der Benutzer vom System abgemeldet wurde.