Interface AnyService<TO extends AnyTO>

    • Method Detail

      • read

        @GET
        @Path("{key}/{schemaType}")
        @Produces({"application/json","application/yaml","application/xml"})
        Set<Attr> read​(@NotNull @PathParam("key")
                       @NotNull String key,
                       @NotNull @PathParam("schemaType")
                       @NotNull SchemaType schemaType)
        Reads the list of attributes owned by the given any object for the given schema type. Note that for the UserService, GroupService and AnyObjectService subclasses, if the key parameter looks like a UUID then it is interpreted as as key, otherwise as a (user)name.
        Parameters:
        key - any object key or name
        schemaType - schema type
        Returns:
        list of attributes, owned by the given any object, for the given schema type
      • read

        @GET
        @Path("{key}/{schemaType}/{schema}")
        @Produces({"application/json","application/yaml","application/xml"})
        Attr read​(@NotNull @PathParam("key")
                  @NotNull String key,
                  @NotNull @PathParam("schemaType")
                  @NotNull SchemaType schemaType,
                  @NotNull @PathParam("schema")
                  @NotNull String schema)
        Reads the attribute, owned by the given any object, for the given schema type and schema. Note that for the UserService, GroupService and AnyObjectService subclasses, if the key parameter looks like a UUID then it is interpreted as as key, otherwise as a (user)name.
        Parameters:
        key - any object key or name
        schemaType - schema type
        schema - schema
        Returns:
        attribute, owned by the given any object, for the given schema type and schema
      • read

        @GET
        @Path("{key}")
        @Produces({"application/json","application/yaml","application/xml"})
        TO read​(@NotNull @PathParam("key")
                @NotNull String key)
        Reads the any object matching the provided key.
        Parameters:
        key - if value looks like a UUID then it is interpreted as key, otherwise as a (user)name
        Returns:
        any object with matching key
      • search

        @GET
        @Produces({"application/json","application/yaml","application/xml"})
        PagedResult<TO> search​(@BeanParam
                               AnyQuery anyQuery)
        Returns a paged list of any objects matching the given query.
        Parameters:
        anyQuery - query conditions
        Returns:
        paged list of any objects matching the given query
      • update

        @PUT
        @Path("{key}/{schemaType}/{schema}")
        @Produces({"application/json","application/yaml","application/xml"})
        @Consumes({"application/json","application/yaml","application/xml"})
        javax.ws.rs.core.Response update​(@NotNull @PathParam("key")
                                         @NotNull String key,
                                         @NotNull @PathParam("schemaType")
                                         @NotNull SchemaType schemaType,
                                         @NotNull
                                         @NotNull Attr attrTO)
        Adds or replaces the attribute, owned by the given any object, for the given schema type and schema.
        Parameters:
        key - any object key or name
        schemaType - schema type
        attrTO - attribute
        Returns:
        Response object featuring the updated any object attribute - as Entity
      • delete

        @DELETE
        @Path("{key}/{schemaType}/{schema}")
        @Produces({"application/json","application/yaml","application/xml"})
        void delete​(@NotNull @PathParam("key")
                    @NotNull String key,
                    @NotNull @PathParam("schemaType")
                    @NotNull SchemaType schemaType,
                    @NotNull @PathParam("schema")
                    @NotNull String schema)
        Deletes the attribute, owned by the given any object, for the given schema type and schema.
        Parameters:
        key - any object key or name
        schemaType - schema type
        schema - schema
      • delete

        @DELETE
        @Path("{key}")
        @Produces({"application/json","application/yaml","application/xml"})
        javax.ws.rs.core.Response delete​(@NotNull @PathParam("key")
                                         @NotNull String key)
        Deletes any object matching provided key.
        Parameters:
        key - any object key or name
        Returns:
        Response object featuring the deleted any object enriched with propagation status information
      • deassociate

        @POST
        @Path("{key}/deassociate/{action}")
        @Consumes({"application/json","application/yaml","application/xml"})
        @Produces("multipart/mixed")
        javax.ws.rs.core.Response deassociate​(@NotNull
                                              @NotNull ResourceDR req)
        Executes resource-related operations on given entity.
        Parameters:
        req - external resources to be used for propagation-related operations
        Returns:
        batch results as Response entity
      • associate

        @POST
        @Path("{key}/associate/{action}")
        @Consumes({"application/json","application/yaml","application/xml"})
        @Produces("multipart/mixed")
        javax.ws.rs.core.Response associate​(@NotNull
                                            @NotNull ResourceAR req)
        Executes resource-related operations on given entity.
        Parameters:
        req - external resources to be used for propagation-related operations
        Returns:
        batch results as Response entity