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 -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTopLevelGroup(RealmModel realm, GroupModel subGroup) voidclose()createGroup(RealmModel realm, String id, String name, GroupModel toParent) getGroupById(RealmModel realm, String id) getGroupByName(RealmModel realm, GroupModel parent, String name) getGroupsByRoleStream(RealmModel realm, RoleModel role, Integer firstResult, Integer maxResults) getGroupsCount(RealmModel realm, Boolean onlyTopGroups) getGroupsCountByNameContaining(RealmModel realm, String search) getGroupsStream(RealmModel realm) getGroupsStream(RealmModel realm, Stream<String> ids, String search, Integer first, Integer max) getTopLevelGroupsStream(RealmModel realm, String search, Boolean exact, Integer firstResult, Integer maxResults) voidmoveGroup(RealmModel realm, GroupModel group, GroupModel toParent) booleanremoveGroup(RealmModel realm, GroupModel group) searchForGroupByNameStream(RealmModel realm, String search, Boolean exact, Integer firstResult, Integer maxResults) Obtaining groups from an external client storage is time-bounded.searchGroupsByAttributes(RealmModel realm, Map<String, String> attributes, Integer firstResult, Integer maxResults) Methods inherited from class org.keycloak.storage.AbstractStorageManager
consumeEnabledStorageProvidersWithTimeout, flatMapEnabledStorageProvidersWithTimeout, getEnabledStorageProviders, getStorageProviderFactory, getStorageProviderInstance, getStorageProviderInstance, getStorageProviderInstance, getStorageProviderInstance, getStorageProviderModel, getStorageProviderModels, getStorageProviderTimeout, mapEnabledStorageProvidersWithTimeoutMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.storage.group.GroupLookupProvider
searchForGroupByNameStreamMethods inherited from interface org.keycloak.models.GroupProvider
createGroup, createGroup, createGroup, getGroupsCount, getGroupsStream, getGroupsStream, getTopLevelGroupsStream, getTopLevelGroupsStream
-
Constructor Details
-
GroupStorageManager
-
-
Method Details
-
getGroupById
- Specified by:
getGroupByIdin interfaceGroupLookupProvider
-
getGroupByName
- Specified by:
getGroupByNamein 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
- 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
- Specified by:
getGroupsCountin interfaceGroupProvider
-
getGroupsCountByNameContaining
- 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, String search, Boolean exact, Integer firstResult, Integer maxResults) - Specified by:
getTopLevelGroupsStreamin interfaceGroupProvider
-
createGroup
- Specified by:
createGroupin interfaceGroupProvider
-
removeGroup
- Specified by:
removeGroupin interfaceGroupProvider
-
moveGroup
- Specified by:
moveGroupin interfaceGroupProvider
-
addTopLevelGroup
- Specified by:
addTopLevelGroupin interfaceGroupProvider
-
close
public void close()
-