Interface PolicyService
- All Superinterfaces:
JAXRSService
- All Known Implementing Classes:
PolicyServiceImpl
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
Modifier and TypeMethodDescriptioncreate
(@NotNull PolicyType type, @NotNull PolicyTO policyTO) Create a new policy.void
delete
(@NotNull PolicyType type, @NotNull String key) Delete policy matching the given key.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 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 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"}) 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
-