Interface PolicyService

    • Method Detail

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