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 void
addTopLevelGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel subGroup)
void
close()
org.keycloak.models.GroupModel
createGroup(org.keycloak.models.RealmModel realm, String id, String name, org.keycloak.models.GroupModel toParent)
org.keycloak.models.GroupModel
getGroupById(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)
Long
getGroupsCount(org.keycloak.models.RealmModel realm, Boolean onlyTopGroups)
Long
getGroupsCountByNameContaining(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)
void
moveGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel group, org.keycloak.models.GroupModel toParent)
boolean
removeGroup(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:
getGroupById
in 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. SeeDefaultKeycloakSessionFactory
for details.- Specified by:
searchForGroupByNameStream
in interfaceorg.keycloak.storage.group.GroupLookupProvider
-
getGroupsStream
public Stream<org.keycloak.models.GroupModel> getGroupsStream(org.keycloak.models.RealmModel realm)
- Specified by:
getGroupsStream
in 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:
getGroupsStream
in interfaceorg.keycloak.models.GroupProvider
-
getGroupsCount
public Long getGroupsCount(org.keycloak.models.RealmModel realm, Boolean onlyTopGroups)
- Specified by:
getGroupsCount
in interfaceorg.keycloak.models.GroupProvider
-
getGroupsCountByNameContaining
public Long getGroupsCountByNameContaining(org.keycloak.models.RealmModel realm, String search)
- Specified by:
getGroupsCountByNameContaining
in 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:
getGroupsByRoleStream
in interfaceorg.keycloak.models.GroupProvider
-
getTopLevelGroupsStream
public Stream<org.keycloak.models.GroupModel> getTopLevelGroupsStream(org.keycloak.models.RealmModel realm)
- Specified by:
getTopLevelGroupsStream
in interfaceorg.keycloak.models.GroupProvider
-
getTopLevelGroupsStream
public Stream<org.keycloak.models.GroupModel> getTopLevelGroupsStream(org.keycloak.models.RealmModel realm, Integer firstResult, Integer maxResults)
- Specified by:
getTopLevelGroupsStream
in 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:
createGroup
in interfaceorg.keycloak.models.GroupProvider
-
removeGroup
public boolean removeGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel group)
- Specified by:
removeGroup
in 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:
moveGroup
in interfaceorg.keycloak.models.GroupProvider
-
addTopLevelGroup
public void addTopLevelGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel subGroup)
- Specified by:
addTopLevelGroup
in interfaceorg.keycloak.models.GroupProvider
-
close
public void close()
- Specified by:
close
in interfaceorg.keycloak.provider.Provider
-
-