Class MapResourceStore
- java.lang.Object
-
- org.keycloak.models.map.authorization.MapResourceStore
-
- All Implemented Interfaces:
ResourceStore
public class MapResourceStore extends Object implements ResourceStore
-
-
Constructor Summary
Constructors Constructor Description MapResourceStore(KeycloakSession session, MapStorage<MapResourceEntity,Resource> resourceStore, AuthorizationProvider provider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Resource
create(ResourceServer resourceServer, String id, String name, String owner)
Creates aResource
instance backed by this persistent storage implementation.void
delete(String id)
Removes aResource
instance, with the givenid
from the persistent storage.Resource
findById(ResourceServer resourceServer, String id)
Returns aResource
instance based on its identifier.Resource
findByName(ResourceServer resourceServer, String name, String ownerId)
Find aResource
by its name where the owner is the givenownerId
.List<Resource>
findByOwner(ResourceServer resourceServer, String ownerId, Integer firstResult, Integer maxResults)
void
findByOwner(ResourceServer resourceServer, String ownerId, Consumer<Resource> consumer)
List<Resource>
findByResourceServer(ResourceServer resourceServer)
Finds allResource
instances associated with a given resource server.List<Resource>
findByResourceServer(ResourceServer resourceServer, Map<Resource.FilterOption,String[]> attributes, Integer firstResult, Integer maxResults)
Finds allResource
instances associated with a given resource server.void
findByScopes(ResourceServer resourceServer, Set<Scope> scopes, Consumer<Resource> consumer)
void
findByType(ResourceServer resourceServer, String type, String owner, Consumer<Resource> consumer)
Finds allResource
with the given type.void
findByType(ResourceServer resourceServer, String type, Consumer<Resource> consumer)
Finds allResource
with the given type.void
findByTypeInstance(ResourceServer resourceServer, String type, Consumer<Resource> consumer)
List<Resource>
findByUri(ResourceServer resourceServer, String uri)
Finds allResource
instances with the given uri.-
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.ResourceStore
create, findByName, findByOwner, findByScopes, findByType, findByType, findByTypeInstance
-
-
-
-
Constructor Detail
-
MapResourceStore
public MapResourceStore(KeycloakSession session, MapStorage<MapResourceEntity,Resource> resourceStore, AuthorizationProvider provider)
-
-
Method Detail
-
create
public Resource create(ResourceServer resourceServer, String id, String name, String owner)
Description copied from interface:ResourceStore
Creates a
Resource
instance backed by this persistent storage implementation.- Specified by:
create
in interfaceResourceStore
- Parameters:
resourceServer
- the resource server to where the given resource belongs toid
- the id of this resource. It must be unique. Will be randomly generated if null.name
- the name of this resource. It must be unique.owner
- the owner of this resource or null if the resource server is the owner- Returns:
- an instance backed by the underlying storage implementation
-
delete
public void delete(String id)
Description copied from interface:ResourceStore
Removes aResource
instance, with the givenid
from the persistent storage.- Specified by:
delete
in interfaceResourceStore
- Parameters:
id
- the identifier of an existing resource instance
-
findById
public Resource findById(ResourceServer resourceServer, String id)
Description copied from interface:ResourceStore
Returns aResource
instance based on its identifier.- Specified by:
findById
in interfaceResourceStore
- Parameters:
resourceServer
- the resource serverid
- the identifier of an existing resource instance- Returns:
- the resource instance with the given identifier or null if no instance was found
-
findByOwner
public void findByOwner(ResourceServer resourceServer, String ownerId, Consumer<Resource> consumer)
- Specified by:
findByOwner
in interfaceResourceStore
-
findByOwner
public List<Resource> findByOwner(ResourceServer resourceServer, String ownerId, Integer firstResult, Integer maxResults)
- Specified by:
findByOwner
in interfaceResourceStore
-
findByUri
public List<Resource> findByUri(ResourceServer resourceServer, String uri)
Description copied from interface:ResourceStore
Finds allResource
instances with the given uri.- Specified by:
findByUri
in interfaceResourceStore
uri
- the identifier of the uri- Returns:
- a list with all resource instances owned by the given owner
-
findByResourceServer
public List<Resource> findByResourceServer(ResourceServer resourceServer)
Description copied from interface:ResourceStore
Finds allResource
instances associated with a given resource server.- Specified by:
findByResourceServer
in interfaceResourceStore
- Parameters:
resourceServer
- the identifier of the resource server- Returns:
- a list with all resources associated with the given resource server
-
findByResourceServer
public List<Resource> findByResourceServer(ResourceServer resourceServer, Map<Resource.FilterOption,String[]> attributes, Integer firstResult, Integer maxResults)
Description copied from interface:ResourceStore
Finds allResource
instances associated with a given resource server.- Specified by:
findByResourceServer
in interfaceResourceStore
- Parameters:
resourceServer
- the identifier of the resource serverattributes
- a map holding the attributes that will be used as a filter; possible filter options are given byResource.FilterOption
firstResult
- first result to return. Ignored if negative ornull
.maxResults
- maximum number of results to return. Ignored if negative ornull
.- Returns:
- a list with all resources associated with the given resource server
-
findByScopes
public void findByScopes(ResourceServer resourceServer, Set<Scope> scopes, Consumer<Resource> consumer)
- Specified by:
findByScopes
in interfaceResourceStore
-
findByName
public Resource findByName(ResourceServer resourceServer, String name, String ownerId)
Description copied from interface:ResourceStore
Find aResource
by its name where the owner is the givenownerId
.- Specified by:
findByName
in interfaceResourceStore
- Parameters:
resourceServer
- the identifier of the resource servername
- the name of the resourceownerId
- the owner id- Returns:
- a resource with the given name
-
findByType
public void findByType(ResourceServer resourceServer, String type, Consumer<Resource> consumer)
Description copied from interface:ResourceStore
Finds allResource
with the given type.- Specified by:
findByType
in interfaceResourceStore
- Parameters:
resourceServer
- the resource server idtype
- the type of the resourceconsumer
- the result consumer
-
findByType
public void findByType(ResourceServer resourceServer, String type, String owner, Consumer<Resource> consumer)
Description copied from interface:ResourceStore
Finds allResource
with the given type.- Specified by:
findByType
in interfaceResourceStore
- Parameters:
resourceServer
- the resource server idtype
- the type of the resourceowner
- the resource owner or null for any resource with a given typeconsumer
- the result consumer
-
findByTypeInstance
public void findByTypeInstance(ResourceServer resourceServer, String type, Consumer<Resource> consumer)
- Specified by:
findByTypeInstance
in interfaceResourceStore
-
-