Package org.keycloak.storage
Class GroupStorageManager
- java.lang.Object
-
- org.keycloak.storage.AbstractStorageManager<GroupStorageProvider,GroupStorageProviderModel>
-
- org.keycloak.storage.GroupStorageManager
-
- All Implemented Interfaces:
GroupProvider,Provider,GroupLookupProvider
public class GroupStorageManager extends AbstractStorageManager<GroupStorageProvider,GroupStorageProviderModel> implements GroupProvider
-
-
Field Summary
-
Fields inherited from class org.keycloak.storage.AbstractStorageManager
session
-
-
Constructor Summary
Constructors Constructor Description GroupStorageManager(KeycloakSession session)
-
Method Summary
-
Methods inherited from class org.keycloak.storage.AbstractStorageManager
consumeEnabledStorageProvidersWithTimeout, flatMapEnabledStorageProvidersWithTimeout, getEnabledStorageProviders, getStorageProviderFactory, getStorageProviderInstance, getStorageProviderInstance, getStorageProviderInstance, getStorageProviderInstance, getStorageProviderModel, getStorageProviderModels, getStorageProviderTimeout, mapEnabledStorageProvidersWithTimeout
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.storage.group.GroupLookupProvider
searchForGroupByNameStream
-
Methods inherited from interface org.keycloak.models.GroupProvider
createGroup, createGroup, createGroup, getGroupsCount, getGroupsStream, getGroupsStream
-
-
-
-
Constructor Detail
-
GroupStorageManager
public GroupStorageManager(KeycloakSession session)
-
-
Method Detail
-
getGroupById
public GroupModel getGroupById(RealmModel realm, String id)
- Specified by:
getGroupByIdin interfaceGroupLookupProvider
-
searchGroupsByAttributes
public Stream<GroupModel> searchGroupsByAttributes(RealmModel realm, Map<String,String> attributes, Integer firstResult, Integer maxResults)
- Specified by:
searchGroupsByAttributesin interfaceGroupLookupProvider
-
searchForGroupByNameStream
public Stream<GroupModel> searchForGroupByNameStream(RealmModel realm, String search, Boolean exact, Integer firstResult, Integer maxResults)
Obtaining groups from an external client storage is time-bounded. In case the external group storage isn't available at least groups from a local storage are returned. For this purpose theorg.keycloak.services.DefaultKeycloakSessionFactory#getClientStorageProviderTimeout()property is used. Default value is 3000 milliseconds and it's configurable. Seeorg.keycloak.services.DefaultKeycloakSessionFactoryfor details.- Specified by:
searchForGroupByNameStreamin interfaceGroupLookupProvider
-
getGroupsStream
public Stream<GroupModel> getGroupsStream(RealmModel realm)
- Specified by:
getGroupsStreamin interfaceGroupProvider
-
getGroupsStream
public Stream<GroupModel> getGroupsStream(RealmModel realm, Stream<String> ids, String search, Integer first, Integer max)
- Specified by:
getGroupsStreamin interfaceGroupProvider
-
getGroupsCount
public Long getGroupsCount(RealmModel realm, Boolean onlyTopGroups)
- Specified by:
getGroupsCountin interfaceGroupProvider
-
getGroupsCountByNameContaining
public Long getGroupsCountByNameContaining(RealmModel realm, String search)
- Specified by:
getGroupsCountByNameContainingin interfaceGroupProvider
-
getGroupsByRoleStream
public Stream<GroupModel> getGroupsByRoleStream(RealmModel realm, RoleModel role, Integer firstResult, Integer maxResults)
- Specified by:
getGroupsByRoleStreamin interfaceGroupProvider
-
getTopLevelGroupsStream
public Stream<GroupModel> getTopLevelGroupsStream(RealmModel realm)
- Specified by:
getTopLevelGroupsStreamin interfaceGroupProvider
-
getTopLevelGroupsStream
public Stream<GroupModel> getTopLevelGroupsStream(RealmModel realm, Integer firstResult, Integer maxResults)
- Specified by:
getTopLevelGroupsStreamin interfaceGroupProvider
-
createGroup
public GroupModel createGroup(RealmModel realm, String id, String name, GroupModel toParent)
- Specified by:
createGroupin interfaceGroupProvider
-
removeGroup
public boolean removeGroup(RealmModel realm, GroupModel group)
- Specified by:
removeGroupin interfaceGroupProvider
-
moveGroup
public void moveGroup(RealmModel realm, GroupModel group, GroupModel toParent)
- Specified by:
moveGroupin interfaceGroupProvider
-
addTopLevelGroup
public void addTopLevelGroup(RealmModel realm, GroupModel subGroup)
- Specified by:
addTopLevelGroupin interfaceGroupProvider
-
-