Class 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
    • Constructor Detail

      • GroupStorageManager

        public GroupStorageManager​(org.keycloak.models.KeycloakSession session)
    • Method Detail

      • getGroupById

        public org.keycloak.models.GroupModel getGroupById​(org.keycloak.models.RealmModel realm,
                                                           String id)
        Specified by:
        getGroupById in interface org.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 the DefaultKeycloakSessionFactory.getClientStorageProviderTimeout() property is used. Default value is 3000 milliseconds and it's configurable. See DefaultKeycloakSessionFactory for details.
        Specified by:
        searchForGroupByNameStream in interface org.keycloak.storage.group.GroupLookupProvider
      • getGroupsStream

        public Stream<org.keycloak.models.GroupModel> getGroupsStream​(org.keycloak.models.RealmModel realm)
        Specified by:
        getGroupsStream in interface org.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 interface org.keycloak.models.GroupProvider
      • getGroupsCount

        public Long getGroupsCount​(org.keycloak.models.RealmModel realm,
                                   Boolean onlyTopGroups)
        Specified by:
        getGroupsCount in interface org.keycloak.models.GroupProvider
      • getGroupsCountByNameContaining

        public Long getGroupsCountByNameContaining​(org.keycloak.models.RealmModel realm,
                                                   String search)
        Specified by:
        getGroupsCountByNameContaining in interface org.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 interface org.keycloak.models.GroupProvider
      • getTopLevelGroupsStream

        public Stream<org.keycloak.models.GroupModel> getTopLevelGroupsStream​(org.keycloak.models.RealmModel realm)
        Specified by:
        getTopLevelGroupsStream in interface org.keycloak.models.GroupProvider
      • getTopLevelGroupsStream

        public Stream<org.keycloak.models.GroupModel> getTopLevelGroupsStream​(org.keycloak.models.RealmModel realm,
                                                                              Integer firstResult,
                                                                              Integer maxResults)
        Specified by:
        getTopLevelGroupsStream in interface org.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 interface org.keycloak.models.GroupProvider
      • removeGroup

        public boolean removeGroup​(org.keycloak.models.RealmModel realm,
                                   org.keycloak.models.GroupModel group)
        Specified by:
        removeGroup in interface org.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 interface org.keycloak.models.GroupProvider
      • addTopLevelGroup

        public void addTopLevelGroup​(org.keycloak.models.RealmModel realm,
                                     org.keycloak.models.GroupModel subGroup)
        Specified by:
        addTopLevelGroup in interface org.keycloak.models.GroupProvider
      • close

        public void close()
        Specified by:
        close in interface org.keycloak.provider.Provider