Class UserBuilder


  • public class UserBuilder
    extends Object

    Provides a User value object builder class.

    Examples

    Please find the user builder examples below.

    Create a User

    This example shows how to create a User object.

     import com.avoka.tm.svc.*
     import com.avoka.tm.vo.*
    
     User user = new UserBuilder("Work Space")
                    .setEmail("[email protected]")
                    .setUserType(User.TYPE_LOCAL)
                    .setLoginName("login")
                    .setPassword("secret!23")
                    .create()  

    Update a User's Email Address

    This example shows how to update an user's email address.

     import com.avoka.tm.svc.*
     import com.avoka.tm.vo.*
    
     User user = new UserBuilder(request)
                    .setLoginName("dsmith")
                    .setEmail("[email protected]")
                    .update() 

    Create/Update a User

    The example below shows how to create or update an 'SSO' type user.

     import com.avoka.tm.svc.*
     import com.avoka.tm.vo.*
    
     User user = new UserBuilder(request)
                    .setLoginName("dsmith")
                    .setEmail("[email protected]")
                    .setUserType(User.TYPE_SSO)
                    .createOrUpdate() 

    Unlock a temporarily locked User

    The example below shows how to unlock an existing user. For a user to be successfully unlocked the account must be in Locked Temporarily status and the Lockout End Time passed

     import com.avoka.tm.svc.*
     import com.avoka.tm.vo.*
    
     User user = new UserBuilder(request)
                      .setLoginName("dsmith")
                      .setEmail("[email protected]")
                      .withUpdatedLockStatus()
                      .update() 
    Since:
    5.0.0
    • Method Detail

      • setLoginName

        public UserBuilder setLoginName​(String loginName)
        Set the user login name parameter.
        Parameters:
        loginName - the user login name parameter
        Returns:
        the user service
      • setAccountStatus

        public UserBuilder setAccountStatus​(String accountStatus)
        Set the user account status parameter [ Active | Inactive | Locked | Locked Temporarily | Pending | Rejected ].
        Parameters:
        accountStatus - the user account status parameter [ Active | Inactive | Locked | Locked Temporarily | Pending | Rejected ]
        Returns:
        the user service
      • setEmail

        public UserBuilder setEmail​(String email)
        Set the user email parameter.
        Parameters:
        email - the user email parameter
        Returns:
        the user service
      • setFirstName

        public UserBuilder setFirstName​(String firstName)
        Set the user first name parameter.
        Parameters:
        firstName - the user first name parameter
        Returns:
        the user service
      • setLastName

        public UserBuilder setLastName​(String lastName)
        Set the user last name parameter.
        Parameters:
        lastName - the user last name parameter
        Returns:
        the user service
      • setMobile

        public UserBuilder setMobile​(String mobile)
        Set the user mobile number parameter.
        Parameters:
        mobile - the user mobile number parameter
        Returns:
        the user service
      • setPassword

        public UserBuilder setPassword​(String password)
        Set the user password, only applicable for "Local" type users and not for LDAP or SSO user types.
        Parameters:
        password - the user password to set
        Returns:
        the user service
      • setChangePassword

        public UserBuilder setChangePassword​(boolean isChangePassword)
        Set the flag to force the user to update their password on next login.
        Parameters:
        isChangePassword - true if you want to force the user to update their password next login
        Returns:
        the user service
        Since:
        19.11.0
      • setUserType

        public UserBuilder setUserType​(String userType)
        Set the user type parameter [ Local | LDAP | SSO ].
        Parameters:
        userType - the user type parameter [ Local | LDAP | SSO ]
        Returns:
        the user service
      • setProfileMap

        public UserBuilder setProfileMap​(Map<String,​String> profileMap)
        Set the user profile values map parameter.
        Parameters:
        profileMap - the user profile values map parameter
        Returns:
        the user service
      • setGroupNames

        @FluentSecurityPermission(permissions="group-assign")
        public UserBuilder setGroupNames​(Set<String> groupNames)
        Set the group names the user should be assigned to.
        Parameters:
        groupNames - the group names the user should be assigned to
        Returns:
        the user service
      • addGroupName

        @FluentSecurityPermission(permissions="group-assign")
        public UserBuilder addGroupName​(String groupName)
        Add the group names the user should be assigned to.
        Parameters:
        groupName - the group name the user should be assigned to
        Returns:
        the user service
      • removeGroupName

        @FluentSecurityPermission(permissions="group-assign")
        public UserBuilder removeGroupName​(String groupName)
        Remove the group names the user should be assigned to.
        Parameters:
        groupName - the group name the user should not be assigned to
        Returns:
        the user service
      • setOrgNames

        public UserBuilder setOrgNames​(Set<String> orgNames)
        Set the organization names the user should be associated with.
        Parameters:
        orgNames - the organization names the user should be associated with
        Returns:
        the user service
      • addOrgName

        public UserBuilder addOrgName​(String orgName)
        Add the organization name the user should be associated with.
        Parameters:
        orgName - the organization name the user should be associated with
        Returns:
        the user service
      • removeOrgName

        public UserBuilder removeOrgName​(String orgName)
        Remove the organization name the user should be associated with.
        Parameters:
        orgName - the organization name the user should not be associated with
        Returns:
        the user service
      • removeRoleName

        @FluentSecurityPermission(permissions="role-assign")
        public UserBuilder removeRoleName​(String roleName)
        Remove the role name the user should be assigned to.
        Parameters:
        roleName - the role name the user should not be assigned to
        Returns:
        the user service
      • setSpaceNames

        public UserBuilder setSpaceNames​(Set<String> spaceNames)
        Set the form space names the user should be assigned to.
        Parameters:
        spaceNames - the form space names the user should be assigned to
        Returns:
        the user service
      • addSpaceName

        public UserBuilder addSpaceName​(String spaceName)
        Add the form space names the user should be assigned to.
        Parameters:
        spaceName - the form space name the user should be assigned to
        Returns:
        the user service
      • removeSpaceName

        public UserBuilder removeSpaceName​(String spaceName)
        Remove the form space names the user should be assigned to.
        Parameters:
        spaceName - the form space name the user should not be assigned to
        Returns:
        the user service
      • setSvcSpaceName

        public void setSvcSpaceName​(String svcSpaceName)
        Set the service form space name the builder will use.
        Parameters:
        svcSpaceName - svcSpaceName
      • withUpdatedLockStatus

        public UserBuilder withUpdatedLockStatus()
        Set the flag to unlock user if they were locked temporarily and the lockout duration has passed.
        Returns:
        the user service
        Since:
        19.11.0
      • create

        public User create()
        Create a new User account based on the specified parameter and return the new User value object.
        Returns:
        the newly created User value object
      • update

        public User update()
        Update the user account specified by the loginName parameter and return the update User value object. This method will throw a IllegalArgumentException if the specified user specified by loginName parameter was not found.
        Returns:
        the update User value object
      • createOrUpdate

        public User createOrUpdate()
        Create or update the user account specified by the given parameters, and return current User value object. If the user specified by the loginName is not found then a new user account will be created.
        Returns:
        create or update the user account specified by the given parameters, and return current User value object