Class HvlAuthzAbstractUserServiceImpl

java.lang.Object
tr.com.havelsan.javarch.oauth.authz.starter.module.user.logic.HvlAuthzAbstractUserServiceImpl
All Implemented Interfaces:
HvlAuthzUserService
Direct Known Subclasses:
HvlAuthzUserServiceImpl, HvlAuthzUserServiceLdapImpl

public abstract class HvlAuthzAbstractUserServiceImpl extends Object implements HvlAuthzUserService
The class which implements HvlAuthzUserService.
  • Field Details

  • Constructor Details

  • Method Details

    • save

      public HvlOAuthUserModel save(@NotNull @Valid @NotNull @Valid HvlOAuthUserModel userModel)
      Saves user.
      Specified by:
      save in interface HvlAuthzUserService
      Parameters:
      userModel - the user model
      Returns:
      the user model
    • saveWithPredefinedValues

      public HvlOAuthUserModel saveWithPredefinedValues(@NotNull @Valid @NotNull @Valid HvlOAuthUserModel userModel)
      saveWithPredefinedValues is a method which is used to add new user data with predefined values which can be defined by administrator. For example, If there is a record for user type of user trying to be added matching with predefined role, system would create a profile authorized with this predefined roles for this user.
      Specified by:
      saveWithPredefinedValues in interface HvlAuthzUserService
      Parameters:
      userModel - the user model
      Returns:
      the user model
    • update

      @Validated(tr.com.havelsan.javarch.data.commons.validation.HvlConstraintGroups.ModifyingOperation.class) public HvlOAuthUserModel update(@NotNull @Valid @NotNull @Valid HvlOAuthUserModel userModel)
      Update user.
      Specified by:
      update in interface HvlAuthzUserService
      Parameters:
      userModel - the user model
      Returns:
      the user model
    • deleteByUuid

      public void deleteByUuid(@NotBlank @Size(min=36,max=36) @NotBlank @Size(min=36,max=36) String uuid)
      Delete user by uuid.
      Specified by:
      deleteByUuid in interface HvlAuthzUserService
      Parameters:
      uuid - the uuid
    • changePasswordByAdmin

      public void changePasswordByAdmin(@NotNull @Valid @NotNull @Valid HvlOAuthUserChangePasswordByAdminModel userChangePasswordByAdminModel)
      Change password by admin.
      Specified by:
      changePasswordByAdmin in interface HvlAuthzUserService
      Parameters:
      userChangePasswordByAdminModel - the HvlOAuthUserChangePasswordByAdminModel
    • changePassword

      public void changePassword(@NotNull @Valid @NotNull @Valid HvlOAuthUserChangePasswordModel userChangePasswordModel)
      Change password by user.
      Specified by:
      changePassword in interface HvlAuthzUserService
      Parameters:
      userChangePasswordModel - the user change password model
    • changePasswordUsingVerification

      public void changePasswordUsingVerification(@NotNull @Valid @NotNull @Valid HvlOAuthUserChangePasswordWithVerificationModel userChangePasswordWithVerificationModel)
      changePasswordUsingVerification is a method which is used to change user password using verification way.
      Specified by:
      changePasswordUsingVerification in interface HvlAuthzUserService
      Parameters:
      userChangePasswordWithVerificationModel - the user change password with verification model
    • lock

      public void lock(@NotNull @Valid @NotNull @Valid HvlOAuthUserLockModel userLockModel)
      Lock user.
      Specified by:
      lock in interface HvlAuthzUserService
      Parameters:
      userLockModel - the userLockModel
    • unlock

      public void unlock(@NotBlank @Size(min=36,max=36) @NotBlank @Size(min=36,max=36) String uuid)
      Unlock user.
      Specified by:
      unlock in interface HvlAuthzUserService
      Parameters:
      uuid - the uuid
    • getByUuid

      @Transactional(readOnly=true) public HvlOAuthUserModel getByUuid(@NotBlank @Size(min=36,max=36) @NotBlank @Size(min=36,max=36) String uuid)
      Gets user by uuid.
      Specified by:
      getByUuid in interface HvlAuthzUserService
      Parameters:
      uuid - the uuid
      Returns:
      the user model
    • getByUsername

      @Transactional(readOnly=true) public HvlOAuthUserModel getByUsername(@NotBlank @Size(max=50) @NotBlank @Size(max=50) String username)
      Gets user by username.
      Specified by:
      getByUsername in interface HvlAuthzUserService
      Parameters:
      username - the username
      Returns:
      the user model
    • getByIntegrationCode

      @Transactional(readOnly=true) public HvlOAuthUserModel getByIntegrationCode(@NotBlank @Size(max=20) @NotBlank @Size(max=20) String integrationCode)
      Gets user by integration code.
      Specified by:
      getByIntegrationCode in interface HvlAuthzUserService
      Parameters:
      integrationCode - the integration code
      Returns:
      the user model
    • queryPage

      @Transactional(readOnly=true) public tr.com.havelsan.javarch.data.commons.pageable.HvlPage<HvlOAuthUserDataModel> queryPage(@Valid @NotNull @Valid @NotNull HvlOAuthUserQueryModel userQueryModel)
      Returns a page of user matching the query criteria.
      Specified by:
      queryPage in interface HvlAuthzUserService
      Parameters:
      userQueryModel - the user query model
      Returns:
      the page of user data model
    • queryClaimDataPage

      @Transactional(readOnly=true) public tr.com.havelsan.javarch.data.commons.pageable.HvlPage<HvlOAuthUserClaimDataModel> queryClaimDataPage(@NotNull @Valid @NotNull @Valid HvlOAuthUserClaimQueryModel userClaimQueryModel)
      Returns a page of user claim for assigned entity relation matching the query criteria.
      Specified by:
      queryClaimDataPage in interface HvlAuthzUserService
      Parameters:
      userClaimQueryModel - the user claim query model
      Returns:
      the page of user claim projection model
    • changePasswordForOtherSystem

      protected abstract void changePasswordForOtherSystem(HvlOAuthUserModel user, String password)