Interface AnyService<TO extends AnyTO>

All Superinterfaces:
JAXRSService
All Known Subinterfaces:
AnyObjectService, GroupService, UserService
All Known Implementing Classes:
AbstractAnyService, AnyObjectServiceImpl, GroupServiceImpl, UserServiceImpl

public interface AnyService<TO extends AnyTO> extends JAXRSService
  • Method Details

    • 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"}) 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"}) 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") 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") 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