Class AbstractUserSourceProfile

    • Method Detail

      • addRole

        public void addRole​(java.lang.String groupName,
                            UICallback ui)
                     throws java.lang.Exception
        Specified by:
        addRole in interface UserSourceProfile
        Throws:
        java.lang.Exception
      • removeRole

        public void removeRole​(java.lang.String groupName,
                               UICallback ui)
                        throws java.lang.Exception
        Specified by:
        removeRole in interface UserSourceProfile
        Throws:
        java.lang.Exception
      • renameRole

        public void renameRole​(java.lang.String oldName,
                               java.lang.String newName,
                               UICallback ui)
                        throws java.lang.Exception
        Specified by:
        renameRole in interface UserSourceProfile
        Throws:
        java.lang.Exception
      • alterPassword

        public void alterPassword​(User user,
                                  java.lang.String oldPassword,
                                  java.lang.String newPassword)
                           throws java.lang.Exception
        Specified by:
        alterPassword in interface UserSourceProfile
        Throws:
        java.lang.Exception
      • getUsers

        @Nonnull
        public abstract java.util.Collection<User> getUsers()
                                                     throws java.lang.Exception
        Description copied from interface: UserSourceProfile
        Retrieve all users from this profile. This can execute slowly (block) if need be. It will be called periodically by the manager and the results will be cached. Users from failover sources will be returned if hard failover is configured and triggered.
        Specified by:
        getUsers in interface UserSourceProfile
        Throws:
        java.lang.Exception
      • getUsers

        @Nonnull
        public java.util.Collection<User> getUsers​(boolean useFailover)
                                            throws java.lang.Exception
        Description copied from interface: UserSourceProfile
        Retrieve all users from this profile. This can execute slowly (block) if need be. It will be called periodically by the manager and the results will be cached. Users from failover sources will be returned if hard failover is configured and triggered when useFailover argument is true.
        Specified by:
        getUsers in interface UserSourceProfile
        Throws:
        java.lang.Exception
      • getUser

        @Nonnull
        public java.util.Optional<User> getUser​(java.lang.String userName)
                                         throws java.lang.Exception
        Description copied from interface: UserSourceProfile
        Fetch a User with the given user name. If more than one user exists with the given user name, the first user returned from the underlying data source is returned. Failover sources will be queried if hard failover is configured and the primary sources are unable to fetch the user due to an error. Failover sources will also be queried if soft failover is configured and the user is not found in the primary sources.
        Specified by:
        getUser in interface UserSourceProfile
        Parameters:
        userName - the user name of the User to fetch
        Returns:
        an Optional User with the given user name. the user may be from a failover user source (check User.getProfileName() to confirm)
        Throws:
        java.lang.Exception - if there is an unexpected problem fetching the user with the given user name
        See Also:
        UserSourceProfile.getUser(String, String)
      • getUser

        @Nonnull
        public java.util.Optional<User> getUser​(java.lang.String userName,
                                                java.lang.String userSourceProfileName)
                                         throws java.lang.Exception
        Description copied from interface: UserSourceProfile
        Fetch a User with the given user name and user source profile name. If more than one user exists with the given user name, the first user returned from the underlying data source is returned. Tries to target the user source with the given userSourceProfileName argument in the chain of failover sources (if configured), following the rules of the failover mode that is currently set at each user source in the chain. While visiting each user source in the chain, the failover source will be queried if hard failover is configured and the primary source is unable to fetch the user due to an error, as long as the given userSourceProfileName argument does not match the primary user source name currently being queried, otherwise an empty result is returned. The failover source will also be queried if soft failover is configured and the given userSourceProfileName argument does not match the primary user source name currently being queried.
        Specified by:
        getUser in interface UserSourceProfile
        Parameters:
        userName - the user name of the User to fetch
        userSourceProfileName - the name of the user source profile for the target user
        Returns:
        an Optional User with the given user name
        Throws:
        java.lang.Exception - if there is an unexpected problem fetching the user with the given user name
        See Also:
        UserSourceProfile.getUser(String)
      • getRoles

        @Nonnull
        public abstract java.util.Collection<java.lang.String> getRoles()
                                                                 throws java.lang.Exception
        Specified by:
        getRoles in interface UserSourceProfile
        Returns:
        a collection of all possible role names for this profile. May be empty. Roles from failover sources will be returned if hard failover is configured and triggered.
        Throws:
        java.lang.Exception
      • getRoles

        @Nonnull
        public java.util.Collection<java.lang.String> getRoles​(boolean useFailover)
                                                        throws java.lang.Exception
        Specified by:
        getRoles in interface UserSourceProfile
        Returns:
        a collection of all possible role names for this profile. May be empty. Roles from failover sources will be returned if hard failover is configured and triggered when useFailover argument is true.
        Throws:
        java.lang.Exception