Package org.keycloak.storage
Class GroupStorageManager
- java.lang.Object
-
- org.keycloak.storage.AbstractStorageManager<org.keycloak.storage.group.GroupStorageProvider,org.keycloak.storage.group.GroupStorageProviderModel>
-
- org.keycloak.storage.GroupStorageManager
-
- All Implemented Interfaces:
org.keycloak.models.GroupProvider,org.keycloak.provider.Provider,org.keycloak.storage.group.GroupLookupProvider
public class GroupStorageManager extends AbstractStorageManager<org.keycloak.storage.group.GroupStorageProvider,org.keycloak.storage.group.GroupStorageProviderModel> implements org.keycloak.models.GroupProvider
-
-
Field Summary
-
Fields inherited from class org.keycloak.storage.AbstractStorageManager
session
-
-
Constructor Summary
Constructors Constructor Description GroupStorageManager(org.keycloak.models.KeycloakSession session)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTopLevelGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel subGroup)voidclose()org.keycloak.models.GroupModelcreateGroup(org.keycloak.models.RealmModel realm, String id, String name, org.keycloak.models.GroupModel toParent)org.keycloak.models.GroupModelgetGroupById(org.keycloak.models.RealmModel realm, String id)Stream<org.keycloak.models.GroupModel>getGroupsByRoleStream(org.keycloak.models.RealmModel realm, org.keycloak.models.RoleModel role, Integer firstResult, Integer maxResults)LonggetGroupsCount(org.keycloak.models.RealmModel realm, Boolean onlyTopGroups)LonggetGroupsCountByNameContaining(org.keycloak.models.RealmModel realm, String search)Stream<org.keycloak.models.GroupModel>getGroupsStream(org.keycloak.models.RealmModel realm)Stream<org.keycloak.models.GroupModel>getGroupsStream(org.keycloak.models.RealmModel realm, Stream<String> ids, String search, Integer first, Integer max)Stream<org.keycloak.models.GroupModel>getTopLevelGroupsStream(org.keycloak.models.RealmModel realm)Stream<org.keycloak.models.GroupModel>getTopLevelGroupsStream(org.keycloak.models.RealmModel realm, Integer firstResult, Integer maxResults)voidmoveGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel group, org.keycloak.models.GroupModel toParent)booleanremoveGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel group)Stream<org.keycloak.models.GroupModel>searchForGroupByNameStream(org.keycloak.models.RealmModel realm, String search, Integer firstResult, Integer maxResults)Obtaining groups from an external client storage is time-bounded.-
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
-
-
-
-
Method Detail
-
getGroupById
public org.keycloak.models.GroupModel getGroupById(org.keycloak.models.RealmModel realm, String id)- Specified by:
getGroupByIdin interfaceorg.keycloak.storage.group.GroupLookupProvider
-
searchForGroupByNameStream
public Stream<org.keycloak.models.GroupModel> searchForGroupByNameStream(org.keycloak.models.RealmModel realm, String search, 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 theDefaultKeycloakSessionFactory.getClientStorageProviderTimeout()property is used. Default value is 3000 milliseconds and it's configurable. SeeDefaultKeycloakSessionFactoryfor details.- Specified by:
searchForGroupByNameStreamin interfaceorg.keycloak.storage.group.GroupLookupProvider
-
getGroupsStream
public Stream<org.keycloak.models.GroupModel> getGroupsStream(org.keycloak.models.RealmModel realm)
- Specified by:
getGroupsStreamin interfaceorg.keycloak.models.GroupProvider
-
getGroupsStream
public Stream<org.keycloak.models.GroupModel> getGroupsStream(org.keycloak.models.RealmModel realm, Stream<String> ids, String search, Integer first, Integer max)
- Specified by:
getGroupsStreamin interfaceorg.keycloak.models.GroupProvider
-
getGroupsCount
public Long getGroupsCount(org.keycloak.models.RealmModel realm, Boolean onlyTopGroups)
- Specified by:
getGroupsCountin interfaceorg.keycloak.models.GroupProvider
-
getGroupsCountByNameContaining
public Long getGroupsCountByNameContaining(org.keycloak.models.RealmModel realm, String search)
- Specified by:
getGroupsCountByNameContainingin interfaceorg.keycloak.models.GroupProvider
-
getGroupsByRoleStream
public Stream<org.keycloak.models.GroupModel> getGroupsByRoleStream(org.keycloak.models.RealmModel realm, org.keycloak.models.RoleModel role, Integer firstResult, Integer maxResults)
- Specified by:
getGroupsByRoleStreamin interfaceorg.keycloak.models.GroupProvider
-
getTopLevelGroupsStream
public Stream<org.keycloak.models.GroupModel> getTopLevelGroupsStream(org.keycloak.models.RealmModel realm)
- Specified by:
getTopLevelGroupsStreamin interfaceorg.keycloak.models.GroupProvider
-
getTopLevelGroupsStream
public Stream<org.keycloak.models.GroupModel> getTopLevelGroupsStream(org.keycloak.models.RealmModel realm, Integer firstResult, Integer maxResults)
- Specified by:
getTopLevelGroupsStreamin interfaceorg.keycloak.models.GroupProvider
-
createGroup
public org.keycloak.models.GroupModel createGroup(org.keycloak.models.RealmModel realm, String id, String name, org.keycloak.models.GroupModel toParent)- Specified by:
createGroupin interfaceorg.keycloak.models.GroupProvider
-
removeGroup
public boolean removeGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel group)- Specified by:
removeGroupin interfaceorg.keycloak.models.GroupProvider
-
moveGroup
public void moveGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel group, org.keycloak.models.GroupModel toParent)- Specified by:
moveGroupin interfaceorg.keycloak.models.GroupProvider
-
addTopLevelGroup
public void addTopLevelGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel subGroup)- Specified by:
addTopLevelGroupin interfaceorg.keycloak.models.GroupProvider
-
close
public void close()
- Specified by:
closein interfaceorg.keycloak.provider.Provider
-
-