Class MapRoleProvider

java.lang.Object
org.keycloak.models.map.role.MapRoleProvider
All Implemented Interfaces:
RoleProvider, Provider, RoleLookupProvider

public class MapRoleProvider extends Object implements RoleProvider
  • Constructor Details

  • Method Details

    • addRealmRole

      public RoleModel addRealmRole(RealmModel realm, String id, String name)
      Description copied from interface: RoleProvider
      Adds a realm role with given internal ID and name to the given realm.
      Specified by:
      addRealmRole in interface RoleProvider
      Parameters:
      realm - Realm owning this role.
      id - Internal ID of the role or null if one is to be created by the underlying store
      name - String name of the role.
      Returns:
      Model of the created client.
    • getRealmRolesStream

      public Stream<RoleModel> getRealmRolesStream(RealmModel realm, Integer first, Integer max)
      Description copied from interface: RoleProvider
      Returns the realm roles of the given realm as a stream.
      Specified by:
      getRealmRolesStream in interface RoleProvider
      Parameters:
      realm - Realm.
      first - First result to return. Ignored if negative or null.
      max - Maximum number of results to return. Ignored if negative or null.
      Returns:
      Stream of the roles. Never returns null.
    • getRolesStream

      public Stream<RoleModel> getRolesStream(RealmModel realm, Stream<String> ids, String search, Integer first, Integer max)
      Description copied from interface: RoleProvider
      Returns a paginated stream of roles with given ids and given search value in role names.
      Specified by:
      getRolesStream in interface RoleProvider
      Parameters:
      realm - Realm. Cannot be null.
      ids - Stream of ids. Returns empty Stream when null.
      search - Case-insensitive string to search by role's name or description. Ignored if null.
      first - Index of the first result to return. Ignored if negative or null.
      max - Maximum number of results to return. Ignored if negative or null.
      Returns:
      Stream of desired roles. Never returns null.
    • getRealmRolesStream

      public Stream<RoleModel> getRealmRolesStream(RealmModel realm)
      Description copied from interface: RoleProvider
      Returns all the realm roles of the given realm as a stream. Effectively the same as the call getRealmRolesStream(realm, null, null).
      Specified by:
      getRealmRolesStream in interface RoleProvider
      Parameters:
      realm - Realm.
      Returns:
      Stream of the roles. Never returns null.
    • addClientRole

      public RoleModel addClientRole(ClientModel client, String id, String name)
      Description copied from interface: RoleProvider
      Adds a client role with given internal ID and name to the given client.
      Specified by:
      addClientRole in interface RoleProvider
      Parameters:
      client - Client owning this role.
      id - Internal ID of the client role or null if one is to be created by the underlying store.
      name - String name of the role.
      Returns:
      Model of the created role.
    • getClientRolesStream

      public Stream<RoleModel> getClientRolesStream(ClientModel client, Integer first, Integer max)
      Description copied from interface: RoleProvider
      Returns the client roles of the given client.
      Specified by:
      getClientRolesStream in interface RoleProvider
      Parameters:
      client - Client.
      first - First result to return. Ignored if negative or null.
      max - Maximum number of results to return. Ignored if negative or null.
      Returns:
      Stream of the roles. Never returns null.
    • getClientRolesStream

      public Stream<RoleModel> getClientRolesStream(ClientModel client)
      Description copied from interface: RoleProvider
      Returns all the client roles of the given client. Effectively the same as the call getClientRoles(client, null, null).
      Specified by:
      getClientRolesStream in interface RoleProvider
      Parameters:
      client - Client.
      Returns:
      Stream of the roles. Never returns null.
    • removeRole

      public boolean removeRole(RoleModel role)
      Description copied from interface: RoleProvider
      Removes given realm role from the given realm.
      Specified by:
      removeRole in interface RoleProvider
      Parameters:
      role - Role to be removed.
      Returns:
      true if the role existed and has been removed, false otherwise.
    • removeRoles

      public void removeRoles(RealmModel realm)
      Description copied from interface: RoleProvider
      Removes all roles from the given realm.
      Specified by:
      removeRoles in interface RoleProvider
      Parameters:
      realm - Realm.
    • removeRoles

      public void removeRoles(ClientModel client)
      Description copied from interface: RoleProvider
      Removes all roles from the given client.
      Specified by:
      removeRoles in interface RoleProvider
      Parameters:
      client - Client.
    • getRealmRole

      public RoleModel getRealmRole(RealmModel realm, String name)
      Description copied from interface: RoleLookupProvider
      Exact search for a role by given name.
      Specified by:
      getRealmRole in interface RoleLookupProvider
      Parameters:
      realm - Realm.
      name - String name of the role.
      Returns:
      Model of the role, or null if no role is found.
    • getClientRole

      public RoleModel getClientRole(ClientModel client, String name)
      Description copied from interface: RoleLookupProvider
      Exact search for a client role by given name.
      Specified by:
      getClientRole in interface RoleLookupProvider
      Parameters:
      client - Client.
      name - String name of the role.
      Returns:
      Model of the role, or null if no role is found.
    • getRoleById

      public RoleModel getRoleById(RealmModel realm, String id)
      Description copied from interface: RoleLookupProvider
      Exact search for a role by its internal ID..
      Specified by:
      getRoleById in interface RoleLookupProvider
      Parameters:
      realm - Realm.
      id - Internal ID of the role.
      Returns:
      Model of the role.
    • searchForRolesStream

      public Stream<RoleModel> searchForRolesStream(RealmModel realm, String search, Integer first, Integer max)
      Description copied from interface: RoleLookupProvider
      Case-insensitive search for roles that contain the given string in their name or description.
      Specified by:
      searchForRolesStream in interface RoleLookupProvider
      Parameters:
      realm - Realm.
      search - Searched substring of the role's name or description.
      first - First result to return. Ignored if negative or null.
      max - Maximum number of results to return. Ignored if negative or null.
      Returns:
      Stream of the realm roles their name or description contains given search string. Never returns null.
    • searchForClientRolesStream

      public Stream<RoleModel> searchForClientRolesStream(ClientModel client, String search, Integer first, Integer max)
      Description copied from interface: RoleLookupProvider
      Case-insensitive search for client roles that contain the given string in their name or description.
      Specified by:
      searchForClientRolesStream in interface RoleLookupProvider
      Parameters:
      client - Client.
      search - String to search by role's name or description.
      first - First result to return. Ignored if negative or null.
      max - Maximum number of results to return. Ignored if negative or null.
      Returns:
      Stream of the client roles their name or description contains given search string. Never returns null.
    • preRemove

      public void preRemove(RealmModel realm)
    • preRemove

      public void preRemove(RealmModel realm, RoleModel role)
    • close

      public void close()
      Specified by:
      close in interface Provider