package org.atricore.idbus.kernel.main.provisioning.spi; import org.atricore.idbus.kernel.main.provisioning.domain.Account; import org.atricore.idbus.kernel.main.provisioning.exception.ProvisioningException; import org.atricore.idbus.kernel.main.provisioning.spi.request.*; import org.atricore.idbus.kernel.main.provisioning.spi.response.*; /** * This represents a destination to provision identity and mediation information (when available) * * @author <a href=mailto:sgonzalez@atricore.org>Sebastian Gonzalez Oyuela</a> */ public interface ProvisioningTarget { String getName(); void init(); void shutDown(); String getHashAlgorithm(); String getHashEncoding(); //<--------------- Transactions --------------------> void purgeOldTransactions(); boolean isTransactionValid(String transactionId); AbstractProvisioningRequest lookupTransactionRequest(String transactionId); /** * Is Mediation Partition available, true when mediation partition is supported * by this instance. */ boolean isMediationPartitionAvailable(); /** * Is Schema management available, true when schema management is supported * by this instance. */ @Deprecated boolean isSchemaManagementAvailable(); //<--------------- Groups --------------------> RemoveGroupResponse removeGroup(RemoveGroupRequest groupRequest) throws ProvisioningException; AddGroupResponse addGroup(AddGroupRequest groupRequest) throws ProvisioningException; FindGroupByIdResponse findGroupById(FindGroupByIdRequest groupRequest) throws ProvisioningException; FindGroupByNameResponse findGroupByName(FindGroupByNameRequest groupRequest) throws ProvisioningException; ListGroupsResponse listGroups(ListGroupsRequest groupRequest) throws ProvisioningException; SearchGroupResponse searchGroups(SearchGroupRequest groupRequest) throws ProvisioningException; UpdateGroupResponse updateGroup(UpdateGroupRequest groupRequest) throws ProvisioningException; //<--------------- Users --------------------> RemoveUserResponse removeUser(RemoveUserRequest userRequest) throws ProvisioningException; AddUserResponse addUser(AddUserRequest userRequest) throws ProvisioningException; PrepareAddUserResponse prepareAddUser(AddUserRequest userRequest) throws ProvisioningException; AddUserResponse confirmAddUser(ConfirmAddUserRequest userRequest) throws ProvisioningException; FindUserByIdResponse findUserById(FindUserByIdRequest userRequest) throws ProvisioningException; FindUserByUsernameResponse findUserByUsername(FindUserByUsernameRequest userRequest) throws ProvisioningException; ListUsersResponse listUsers(ListUsersRequest userRequest) throws ProvisioningException; SearchUserResponse searchUsers(SearchUserRequest userRequest) throws ProvisioningException; UpdateUserResponse updateUser(UpdateUserRequest userRequest) throws ProvisioningException; GetUsersByGroupResponse getUsersByGroup(GetUsersByGroupRequest usersByGroupRequest) throws ProvisioningException; ListUserAccountsResponse listUserAccounts(ListUserAccountsRequest request) throws ProvisioningException; ListResourcesResponse listResources(ListResourcesRequest requesst) throws ProvisioningException; SetPasswordResponse setPassword(SetPasswordRequest setPwdRequest) throws ProvisioningException; ResetPasswordResponse resetPassword(ResetPasswordRequest resetPwdRequest) throws ProvisioningException; PrepareResetPasswordResponse prepareResetPassword(ResetPasswordRequest resetPwdRequest) throws ProvisioningException; ResetPasswordResponse confirmResetPassword(ConfirmResetPasswordRequest resetPwdRequest) throws ProvisioningException; ListSecurityQuestionsResponse listSecurityQuestions(ListSecurityQuestionsRequest request) throws ProvisioningException; //<--------------- ACLs --------------------> FindAclEntryByApprovalTokenResponse findAclEntryByApprovalToken(FindAclEntryByApprovalTokenRequest aclEntryRequest) throws ProvisioningException; UpdateAclEntryResponse updateAclEntry(UpdateAclEntryRequest aclEntryRequest) throws ProvisioningException; RemoveAclEntryResponse removeAclEntry(RemoveAclEntryRequest aclEntryRequest) throws ProvisioningException; //<--------------- Security Tokens--------------------> AddSecurityTokenResponse addSecurityToken(AddSecurityTokenRequest addSecurityTokenRequest) throws ProvisioningException; UpdateSecurityTokenResponse updateSecurityToken(UpdateSecurityTokenRequest updateSecurityTokenRequest) throws ProvisioningException; RemoveSecurityTokenResponse removeSecurityToken(RemoveSecurityTokenRequest removeSecurityTokenRequest) throws ProvisioningException; FindSecurityTokenByTokenIdResponse findSecurityTokenByTokenId(FindSecurityTokenByTokenIdRequest findSecurityTokenByTokenIdRequest) throws ProvisioningException; FindSecurityTokensByExpiresOnBeforeResponse findSecurityTokensByExpiresOnBefore(FindSecurityTokensByExpiresOnBeforeRequest findSecurityTokensByExpiresOnBeforeRequest) throws ProvisioningException; FindSecurityTokensByIssueInstantBeforeResponse findSecurityTokensByIssueInstantBefore(FindSecurityTokensByIssueInstantBeforeRequest findSecurityTokensByIssueInstantBeforeRequest) throws ProvisioningException; //<--------------- Schema --------------------> AddUserAttributeResponse addUserAttribute(AddUserAttributeRequest userAttributeRequest) throws ProvisioningException; UpdateUserAttributeResponse updateUserAttribute(UpdateUserAttributeRequest userAttributeRequest) throws ProvisioningException; RemoveUserAttributeResponse removeUserAttribute(RemoveUserAttributeRequest userAttributeRequest) throws ProvisioningException; FindUserAttributeByIdResponse findUserAttributeById(FindUserAttributeByIdRequest userAttributeRequest) throws ProvisioningException; FindUserAttributeByNameResponse findUserAttributeByName(FindUserAttributeByNameRequest userAttributeRequest) throws ProvisioningException; ListUserAttributesResponse listUserAttributes(ListUserAttributesRequest userAttributeRequest) throws ProvisioningException; AddGroupAttributeResponse addGroupAttribute(AddGroupAttributeRequest groupAttributeRequest) throws ProvisioningException; UpdateGroupAttributeResponse updateGroupAttribute(UpdateGroupAttributeRequest groupAttributeRequest) throws ProvisioningException; RemoveGroupAttributeResponse removeGroupAttribute(RemoveGroupAttributeRequest groupAttributeRequest) throws ProvisioningException; FindGroupAttributeByIdResponse findGroupAttributeById(FindGroupAttributeByIdRequest groupAttributeRequest) throws ProvisioningException; FindGroupAttributeByNameResponse findGroupAttributeByName(FindGroupAttributeByNameRequest groupAttributeRequest) throws ProvisioningException; ListGroupAttributesResponse listGroupAttributes(ListGroupAttributesRequest groupAttributeRequest) throws ProvisioningException; }