Class IdentityResourceV3

  • All Implemented Interfaces:
    org.forgerock.json.resource.CollectionResourceProvider

    public final class IdentityResourceV3
    extends Object
    implements org.forgerock.json.resource.CollectionResourceProvider
    A simple Map based collection resource provider.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.forgerock.util.promise.Promise<org.forgerock.json.resource.ActionResponse,​org.forgerock.json.resource.ResourceException> actionCollection​(org.forgerock.services.context.Context context, org.forgerock.json.resource.ActionRequest request)
      Version 3 of this endpoint cannot remove these actions as this version is invoked by default.
      org.forgerock.util.promise.Promise<org.forgerock.json.resource.ActionResponse,​org.forgerock.json.resource.ResourceException> actionInstance​(org.forgerock.services.context.Context context, String resourceId, org.forgerock.json.resource.ActionRequest request)
      org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> createInstance​(org.forgerock.services.context.Context context, org.forgerock.json.resource.CreateRequest request)
      org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> deleteInstance​(org.forgerock.services.context.Context context, String resourceId, org.forgerock.json.resource.DeleteRequest request)
      org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> patchInstance​(org.forgerock.services.context.Context context, String resourceId, org.forgerock.json.resource.PatchRequest request)
      Patch the user's password and only the password.
      org.forgerock.util.promise.Promise<org.forgerock.json.resource.QueryResponse,​org.forgerock.json.resource.ResourceException> queryCollection​(org.forgerock.services.context.Context context, org.forgerock.json.resource.QueryRequest request, org.forgerock.json.resource.QueryResourceHandler handler)
      org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> readInstance​(org.forgerock.services.context.Context context, String resourceId, org.forgerock.json.resource.ReadRequest request)
      org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> updateInstance​(org.forgerock.services.context.Context context, String resourceId, org.forgerock.json.resource.UpdateRequest request)
    • Constructor Detail

      • IdentityResourceV3

        public IdentityResourceV3​(String objectType,
                                  MailServerLoader mailServerLoader,
                                  IdentityServicesImpl identityServices,
                                  CoreWrapper coreWrapper,
                                  RestSecurityProvider restSecurityProvider,
                                  ConsoleConfigHandler configHandler,
                                  BaseURLProviderFactory baseURLProviderFactory,
                                  Set<String> patchableAttributes,
                                  Set<UiRolePredicate> uiRolePredicates)
        Constructs a new identity resource.
        Parameters:
        objectType - the object type (whether user, group or agent)
        mailServerLoader - the mail service provider
        identityServices - the identity service
        coreWrapper - core utility API
        restSecurityProvider - self service config provider
        baseURLProviderFactory - URL provider factory
        patchableAttributes - set of acceptable patchable attributes
    • Method Detail

      • actionCollection

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ActionResponse,​org.forgerock.json.resource.ResourceException> actionCollection​(org.forgerock.services.context.Context context,
                                                                                                                                                                   org.forgerock.json.resource.ActionRequest request)
        Version 3 of this endpoint cannot remove these actions as this version is invoked by default. Instead we log messages to remind the user that these actions will disappear from here, although they will be retained by Version 2.
        Specified by:
        actionCollection in interface org.forgerock.json.resource.CollectionResourceProvider
      • actionInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ActionResponse,​org.forgerock.json.resource.ResourceException> actionInstance​(org.forgerock.services.context.Context context,
                                                                                                                                                                 String resourceId,
                                                                                                                                                                 org.forgerock.json.resource.ActionRequest request)
        Specified by:
        actionInstance in interface org.forgerock.json.resource.CollectionResourceProvider
      • createInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> createInstance​(org.forgerock.services.context.Context context,
                                                                                                                                                                   org.forgerock.json.resource.CreateRequest request)
        Specified by:
        createInstance in interface org.forgerock.json.resource.CollectionResourceProvider
      • deleteInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> deleteInstance​(org.forgerock.services.context.Context context,
                                                                                                                                                                   String resourceId,
                                                                                                                                                                   org.forgerock.json.resource.DeleteRequest request)
        Specified by:
        deleteInstance in interface org.forgerock.json.resource.CollectionResourceProvider
      • readInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> readInstance​(org.forgerock.services.context.Context context,
                                                                                                                                                                 String resourceId,
                                                                                                                                                                 org.forgerock.json.resource.ReadRequest request)
        Specified by:
        readInstance in interface org.forgerock.json.resource.CollectionResourceProvider
      • updateInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> updateInstance​(org.forgerock.services.context.Context context,
                                                                                                                                                                   String resourceId,
                                                                                                                                                                   org.forgerock.json.resource.UpdateRequest request)
        Specified by:
        updateInstance in interface org.forgerock.json.resource.CollectionResourceProvider
      • queryCollection

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.QueryResponse,​org.forgerock.json.resource.ResourceException> queryCollection​(org.forgerock.services.context.Context context,
                                                                                                                                                                 org.forgerock.json.resource.QueryRequest request,
                                                                                                                                                                 org.forgerock.json.resource.QueryResourceHandler handler)
        Specified by:
        queryCollection in interface org.forgerock.json.resource.CollectionResourceProvider
      • patchInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> patchInstance​(org.forgerock.services.context.Context context,
                                                                                                                                                                  String resourceId,
                                                                                                                                                                  org.forgerock.json.resource.PatchRequest request)
        Patch the user's password and only the password. No other value may be patched. The old value of the password does not have to be known. Admin only. The only patch operation supported is "replace", i.e. not "add" or "move", etc.
        Specified by:
        patchInstance in interface org.forgerock.json.resource.CollectionResourceProvider
        Parameters:
        context - The context
        resourceId - The username we're patching
        request - The patch request