Interface PolicyService
-
- All Superinterfaces:
JAXRSService
- All Known Implementing Classes:
PolicyServiceImpl
@Path("policies") public interface PolicyService extends JAXRSService
REST operations for policies.
-
-
Field Summary
-
Fields inherited from interface org.apache.syncope.common.rest.api.service.JAXRSService
CRLF, DOUBLE_DASH, PARAM_ANYTYPE_KIND, PARAM_ANYTYPEKEY, PARAM_CONNID_PAGED_RESULTS_COOKIE, PARAM_DETAILS, PARAM_ENTITY_KEY, PARAM_FIQL, PARAM_KEYWORD, PARAM_MAX, PARAM_NOTIFICATION, PARAM_ORDERBY, PARAM_PAGE, PARAM_REALM, PARAM_RECURSIVE, PARAM_RESOURCE, PARAM_SIZE, PARAM_USER
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description javax.ws.rs.core.Response
create(@NotNull PolicyType type, @NotNull PolicyTO policyTO)
Create a new policy.void
delete(@NotNull PolicyType type, @NotNull String key)
Delete policy matching the given key.<T extends PolicyTO>
List<T>list(@NotNull PolicyType type)
Returns a list of policies of the matching type.<T extends PolicyTO>
Tread(@NotNull PolicyType type, @NotNull String key)
Returns the policy matching the given key.void
update(@NotNull PolicyType type, @NotNull PolicyTO policyTO)
Updates policy matching the given key.
-
-
-
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 typekey
- 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"}) javax.ws.rs.core.Response create(@NotNull @PathParam("type") @NotNull PolicyType type, @NotNull @NotNull PolicyTO policyTO)
Create a new policy.- Parameters:
type
- policy typepolicyTO
- 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 typepolicyTO
- 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 typekey
- key of policy to be deleted
-
-