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 org.keycloak.storage.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
sessionFields inherited from interface org.keycloak.models.GroupProvider
DEFAULT_ESCAPE_SLASHES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTopLevelGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel subGroup) voidclose()org.keycloak.models.GroupModelcreateGroup(org.keycloak.models.RealmModel realm, String id, org.keycloak.models.GroupModel.Type type, String name, org.keycloak.models.GroupModel toParent) org.keycloak.models.GroupModelgetGroupById(org.keycloak.models.RealmModel realm, String id) org.keycloak.models.GroupModelgetGroupByName(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel parent, String name) Stream<org.keycloak.models.GroupModel>getGroupsByRoleStream(org.keycloak.models.RealmModel realm, org.keycloak.models.RoleModel role, Integer firstResult, Integer maxResults) getGroupsCount(org.keycloak.models.RealmModel realm, Boolean onlyTopGroups) 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, String search, Boolean exact, Integer firstResult, Integer maxResults) voidmoveGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel group, org.keycloak.models.GroupModel toParent) voidpreRemove(org.keycloak.models.RealmModel realm) booleanremoveGroup(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel group) Stream<org.keycloak.models.GroupModel>searchForGroupByNameStream(org.keycloak.models.RealmModel realm, String search, Boolean exact, Integer firstResult, Integer maxResults) Obtaining groups from an external client storage is time-bounded.Stream<org.keycloak.models.GroupModel>searchGroupsByAttributes(org.keycloak.models.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, createGroup, getGroupsCount, getGroupsStream, getGroupsStream, getTopLevelGroupsStream, getTopLevelGroupsStream
-
Constructor Details
-
GroupStorageManager
public GroupStorageManager(org.keycloak.models.KeycloakSession session)
-
-
Method Details
-
getGroupById
- Specified by:
getGroupByIdin interfaceorg.keycloak.storage.group.GroupLookupProvider
-
getGroupByName
public org.keycloak.models.GroupModel getGroupByName(org.keycloak.models.RealmModel realm, org.keycloak.models.GroupModel parent, String name) - Specified by:
getGroupByNamein interfaceorg.keycloak.storage.group.GroupLookupProvider
-
searchGroupsByAttributes
public Stream<org.keycloak.models.GroupModel> searchGroupsByAttributes(org.keycloak.models.RealmModel realm, Map<String, String> attributes, Integer firstResult, Integer maxResults) - Specified by:
searchGroupsByAttributesin interfaceorg.keycloak.storage.group.GroupLookupProvider
-
searchForGroupByNameStream
public Stream<org.keycloak.models.GroupModel> searchForGroupByNameStream(org.keycloak.models.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 interfaceorg.keycloak.storage.group.GroupLookupProvider
-
getGroupsStream
- 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
- Specified by:
getGroupsCountin interfaceorg.keycloak.models.GroupProvider
-
getGroupsCountByNameContaining
- 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, String search, Boolean exact, 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, org.keycloak.models.GroupModel.Type type, 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
-
preRemove
public void preRemove(org.keycloak.models.RealmModel realm) - Specified by:
preRemovein interfaceorg.keycloak.models.GroupProvider
-
close
public void close()- Specified by:
closein interfaceorg.keycloak.provider.Provider
-