Class JPAPolicyStore
java.lang.Object
org.keycloak.authorization.jpa.store.JPAPolicyStore
- All Implemented Interfaces:
PolicyStore
- Author:
- Pedro Igor
-
Constructor Summary
ConstructorDescriptionJPAPolicyStore
(jakarta.persistence.EntityManager entityManager, AuthorizationProvider provider) -
Method Summary
Modifier and TypeMethodDescriptioncreate
(ResourceServer resourceServer, AbstractPolicyRepresentation representation) Creates a newPolicy
instance.void
Deletes a policy from the underlying persistence mechanism.find
(ResourceServer resourceServer, Map<Policy.FilterOption, String[]> attributes, Integer firstResult, Integer maxResults) findById
(ResourceServer resourceServer, String id) Returns aPolicy
with the givenid
findByName
(ResourceServer resourceServer, String name) Returns aPolicy
with the givenname
void
findByResource
(ResourceServer resourceServer, Resource resource, Consumer<Policy> consumer) Searches for all policies associated with theResource
and passes the result to theconsumer
findByResourceServer
(ResourceServer resourceServer) Returns a list ofPolicy
associated with theResourceServer
void
findByResourceType
(ResourceServer resourceServer, String resourceType, Consumer<Policy> consumer) Searches for policies associated with aResourceServer
and passes the result to the consumerfindByScopes
(ResourceServer resourceServer, List<Scope> scopes) void
findByScopes
(ResourceServer resourceServer, Resource resource, List<Scope> scopes, Consumer<Policy> consumer) Effectively the same method asPolicyStore.findByScopes(ResourceServer, Resource, List)
, however in the end theconsumer
is fed with the result.findByType
(ResourceServer resourceServer, String type) Returns a list ofPolicy
with the giventype
.findDependentPolicies
(ResourceServer resourceServer, String policyId) Returns a list ofPolicy
that depends on another policy with the givenid
.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.keycloak.authorization.store.PolicyStore
findByResource, findByResourceType, findByScopes
-
Constructor Details
-
JPAPolicyStore
public JPAPolicyStore(jakarta.persistence.EntityManager entityManager, AuthorizationProvider provider)
-
-
Method Details
-
create
Description copied from interface:PolicyStore
Creates a newPolicy
instance. The new instance is not necessarily persisted though, which may require a call to the {#save} method to actually make it persistent.- Specified by:
create
in interfacePolicyStore
- Parameters:
resourceServer
- the resource server to which this policy belongs. Cannot benull
.representation
- the policy representation- Returns:
- a new instance of
Policy
-
delete
Description copied from interface:PolicyStore
Deletes a policy from the underlying persistence mechanism.- Specified by:
delete
in interfacePolicyStore
- Parameters:
id
- the id of the policy to delete
-
findById
Description copied from interface:PolicyStore
Returns aPolicy
with the givenid
- Specified by:
findById
in interfacePolicyStore
- Parameters:
resourceServer
- the resource server. Ignored ifnull
.id
- the identifier of the policy- Returns:
- a policy with the given identifier.
-
findByName
Description copied from interface:PolicyStore
Returns aPolicy
with the givenname
- Specified by:
findByName
in interfacePolicyStore
- Parameters:
resourceServer
- the resource server. Cannot benull
name
- the name of the policy- Returns:
- a policy with the given name or
null
if no such policy exists.
-
findByResourceServer
Description copied from interface:PolicyStore
Returns a list ofPolicy
associated with theResourceServer
- Specified by:
findByResourceServer
in interfacePolicyStore
- Parameters:
resourceServer
- the resource server. Cannot benull
.- Returns:
- a list of policies that belong to the given resource server
-
find
public List<Policy> find(ResourceServer resourceServer, Map<Policy.FilterOption, String[]> attributes, Integer firstResult, Integer maxResults) Description copied from interface:PolicyStore
- Specified by:
find
in interfacePolicyStore
- Parameters:
resourceServer
- the identifier of a resource server. Ignored ifnull
.attributes
- a map holding the attributes that will be used as a filter; possible filter options are given byPolicy.FilterOption
firstResult
- first result to return. Ignored if negative ornull
.maxResults
- maximum number of results to return. Ignored if negative ornull
.- Returns:
- a list of policies that belong to the given resource server
-
findByResource
public void findByResource(ResourceServer resourceServer, Resource resource, Consumer<Policy> consumer) Description copied from interface:PolicyStore
Searches for all policies associated with theResource
and passes the result to theconsumer
- Specified by:
findByResource
in interfacePolicyStore
- Parameters:
resourceServer
- the resourceServer. Cannot benull
.resource
- the resource. Cannot benull
.consumer
- consumer of policies resulted from the search
-
findByResourceType
public void findByResourceType(ResourceServer resourceServer, String resourceType, Consumer<Policy> consumer) Description copied from interface:PolicyStore
Searches for policies associated with aResourceServer
and passes the result to the consumer- Specified by:
findByResourceType
in interfacePolicyStore
- Parameters:
resourceServer
- the resourceServer. Cannot benull
.resourceType
- the type of a resourceconsumer
- consumer of policies resulted from the search
-
findByScopes
Description copied from interface:PolicyStore
- Specified by:
findByScopes
in interfacePolicyStore
- Parameters:
resourceServer
- the resource server. Cannot benull
.scopes
- the scopes- Returns:
- a list of policies associated with the given scopes
-
findByScopes
public void findByScopes(ResourceServer resourceServer, Resource resource, List<Scope> scopes, Consumer<Policy> consumer) Description copied from interface:PolicyStore
Effectively the same method asPolicyStore.findByScopes(ResourceServer, Resource, List)
, however in the end theconsumer
is fed with the result.- Specified by:
findByScopes
in interfacePolicyStore
-
findByType
Description copied from interface:PolicyStore
Returns a list ofPolicy
with the giventype
.- Specified by:
findByType
in interfacePolicyStore
- Parameters:
resourceServer
- the resource server id. Cannot benull
.type
- the type of the policy- Returns:
- a list of policies with the given type
-
findDependentPolicies
Description copied from interface:PolicyStore
Returns a list ofPolicy
that depends on another policy with the givenid
.- Specified by:
findDependentPolicies
in interfacePolicyStore
- Parameters:
resourceServer
- the resource server. Cannot benull
.policyId
- the id of the policy to query its dependents- Returns:
- a list of policies that depends on the a policy with the given identifier
-