Interface PolicyService

All Superinterfaces:
JAXRSService

@Path("policies") public interface PolicyService extends JAXRSService
REST operations for policies.
  • Method Details

    • read

      @GET @Path("{type}/{key}") @Produces({"application/json","application/yaml","application/xml"}) <T extends PolicyTO> T read(@NotNull @PathParam("type") @NotNull PolicyType type, @NotNull @PathParam("key") @NotNull String key)
      Returns the policy matching the given key.
      Type Parameters:
      T - response type (extending PolicyTO)
      Parameters:
      type - policy type
      key - key of requested policy
      Returns:
      policy with matching id
    • list

      @GET @Path("{type}") @Produces({"application/json","application/yaml","application/xml"}) <T extends PolicyTO> List<T> list(@NotNull @PathParam("type") @NotNull PolicyType type)
      Returns a list of policies of the matching type.
      Type Parameters:
      T - response type (extending PolicyTO)
      Parameters:
      type - Type selector for requested policies
      Returns:
      list of policies with matching type
    • create

      @POST @Path("{type}") @Consumes({"application/json","application/yaml","application/xml"}) @Produces({"application/json","application/yaml","application/xml"}) jakarta.ws.rs.core.Response create(@NotNull @PathParam("type") @NotNull PolicyType type, @NotNull @NotNull PolicyTO policyTO)
      Create a new policy.
      Parameters:
      type - policy type
      policyTO - Policy to be created (needs to match type)
      Returns:
      Response object featuring Location header of created policy
    • update

      @PUT @Path("{type}/{key}") @Consumes({"application/json","application/yaml","application/xml"}) @Produces({"application/json","application/yaml","application/xml"}) void update(@NotNull @PathParam("type") @NotNull PolicyType type, @NotNull @NotNull PolicyTO policyTO)
      Updates policy matching the given key.
      Parameters:
      type - policy type
      policyTO - Policy to replace existing policy
    • delete

      @DELETE @Path("{type}/{key}") @Produces({"application/json","application/yaml","application/xml"}) void delete(@NotNull @PathParam("type") @NotNull PolicyType type, @NotNull @PathParam("key") @NotNull String key)
      Delete policy matching the given key.
      Parameters:
      type - policy type
      key - key of policy to be deleted