Class GroupWebService

java.lang.Object
io.jans.scim.ws.rs.scim2.BaseScimWebService
io.jans.scim.ws.rs.scim2.GroupWebService
All Implemented Interfaces:
IGroupWebService

@Dependent @Named("scim2GroupEndpoint") @Path("/v2/Groups") public class GroupWebService extends BaseScimWebService implements IGroupWebService
Implementation of /Groups endpoint. Methods here are intercepted. Filter io.jans.scim.service.filter.AuthorizationProcessingFilter secures invocations
  • Constructor Details

    • GroupWebService

      public GroupWebService()
  • Method Details

    • createGroup

      @POST @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public jakarta.ws.rs.core.Response createGroup(GroupResource group, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList)
      Specified by:
      createGroup in interface IGroupWebService
    • getGroupById

      @Path("{id}") @GET @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public jakarta.ws.rs.core.Response getGroupById(@PathParam("id") String id, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList)
      Specified by:
      getGroupById in interface IGroupWebService
    • updateGroup

      @Path("{id}") @PUT @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public jakarta.ws.rs.core.Response updateGroup(GroupResource group, @PathParam("id") String id, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList)
      This implementation differs from spec in the following aspects: - Passing a null value for an attribute, does not modify the attribute in the destination, however passing an empty array for a multivalued attribute does clear the attribute. Thus, to clear single-valued attribute, PATCH operation should be used
      Specified by:
      updateGroup in interface IGroupWebService
    • deleteGroup

      @Path("{id}") @DELETE @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public jakarta.ws.rs.core.Response deleteGroup(@PathParam("id") String id)
      Specified by:
      deleteGroup in interface IGroupWebService
    • searchGroups

      @GET @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public jakarta.ws.rs.core.Response searchGroups(@QueryParam("filter") String filter, @QueryParam("startIndex") Integer startIndex, @QueryParam("count") Integer count, @QueryParam("sortBy") String sortBy, @QueryParam("sortOrder") String sortOrder, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList)
      Specified by:
      searchGroups in interface IGroupWebService
    • searchGroupsPost

      @Path(".search") @POST @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public jakarta.ws.rs.core.Response searchGroupsPost(SearchRequest searchRequest)
      Specified by:
      searchGroupsPost in interface IGroupWebService
    • patchGroup

      @Path("{id}") @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") public jakarta.ws.rs.core.Response patchGroup(PatchRequest request, @PathParam("id") String id, @QueryParam("attributes") String attrsList, @QueryParam("excludedAttributes") String excludedAttrsList)
      Specified by:
      patchGroup in interface IGroupWebService
    • setup

      @PostConstruct public void setup()