Interface UserQuery.IFilterableColumns

All Known Subinterfaces:
UserQuery.IFilterQuery
All Known Implementing Classes:
UserQuery.FilterQuery
Enclosing class:
UserQuery

public static interface UserQuery.IFilterableColumns
Provides filter functionality for IUser

Example:

UserQuery.create().where().name().isLike("john%");
Corresponds to SQL:
SELECT * FROM IWA_IWA_User WHERE name LIKE 'john%'

API:
This is a public API.
  • Method Details

    • hasRole

      UserQuery.FilterLink hasRole(IRole role)

      Filters users which has the given role. A user has the role if the role is directly assigned, transitive over the role hierarchy or role members.

      Example:
      Get all users that has the role "manager"

       import ch.ivyteam.ivy.security.IUser;
       import ch.ivyteam.ivy.security.IRole;
       import ch.ivyteam.ivy.security.query.UserQuery;
      
       IRole manager = ivy.wf.getSecurityContext().roles().find("manager");
       UserQuery query = UserQuery.create().where().hasRole(manager);
       List<IUser> usersWithRoleManager = ivy.wf.getSecurityContext().getUserQueryExecutor().getResults(query);
       
      Parameters:
      role - role to filter the users
      Returns:
      the query for further composition
      Throws:
      IllegalArgumentException - If the given role is null
      See Also:
      API:
      This public API is available in Java.
    • hasRole

      UserQuery.FilterLink hasRole(String roleName)

      Filters users which has the role with the given roleName. A user has the role if the role is directly assigned, transitive over the role hierarchy or role members.

      Example:
      Get all users that has the role "manager"

       import ch.ivyteam.ivy.security.IUser;
       import ch.ivyteam.ivy.security.query.UserQuery;
      
       UserQuery query = UserQuery.create().where().hasRole("manager");
       List<IUser> usersWithRoleManager = ivy.wf.getSecurityContext().getUserQueryExecutor().getResults(query);
       
      Parameters:
      roleName - name of the role to filter the users
      Returns:
      the query for further composition
      Throws:
      IllegalArgumentException - If the given role name is null or cannot be found
      Since:
      9.3
      See Also:
      API:
      This public API is available in Java.
    • hasRoleAssigned

      UserQuery.FilterLink hasRoleAssigned(IRole role)

      Filters users which has the given role directly assigned. In contrast to hasRole(IRole), it only considers directly assigned roles.

      Example:
      Get all users that has directly assigned the role "manager"

       import ch.ivyteam.ivy.security.IUser;
       import ch.ivyteam.ivy.security.IRole;
       import ch.ivyteam.ivy.security.query.UserQuery;
      
       IRole manager = ivy.wf.getSecurityContext().roles().find("manager");
       UserQuery query = UserQuery.create().where().hasRoleAssigned(manager);
       List<IUser> usersWithRoleManagerAssigned = ivy.wf.getSecurityContext().getUserQueryExecutor().getResults(query);
       
      Parameters:
      role - role to filter the users
      Returns:
      the query for further composition
      Throws:
      IllegalArgumentException - If the given role is null
      See Also:
      API:
      This public API is available in Java.
    • hasRoleAssigned

      UserQuery.FilterLink hasRoleAssigned(String roleName)

      Filters users which has the role with the given roleName directly assigned. In contrast to hasRole(String), it only considers directly assigned roles.

      Example:
      Get all users that has directly assigned the role "manager"

       import ch.ivyteam.ivy.security.IUser;
       import ch.ivyteam.ivy.security.query.UserQuery;
      
       UserQuery query = UserQuery.create().where().hasRoleAssigned("manager");
       List<IUser> usersWithRoleManagerAssigned = ivy.wf.getSecurityContext().getUserQueryExecutor().getResults(query);
       
      Parameters:
      roleName - name of the role to filter the users
      Returns:
      the query for further composition
      Throws:
      IllegalArgumentException - If the given role name is null or cannot be found
      Since:
      9.3
      See Also:
      API:
      This public API is available in Java.
    • enabled

      Filters users which are enabled.
      Returns:
      the query for further composition
      API:
      This public API is available in Java.
    • external

      Filters users which are managed by an external security system.
      Returns:
      the query for further composition
      API:
      This public API is available in Java.
    • not

      Adds a condition, which negates a set of where conditions given by the otherQuery with a NOT expression.
      Only the where clause of the given otherQuery is considered. All other parts are ignored.

      SQL part: NOT([otherSqlExpression])

      Example:

      UserQuery subQuery = UserQuery.create().where()
            .name().isEqual("john");
      UserQuery query = UserQuery.create().where()
            .not(subQuery);
      Corresponds to SQL:
      SELECT * FROM IWA_IWA_User
        WHERE NOT(name = 'john')

      Parameters:
      otherQuery - Query from which the negated where part will be added to the current query.
      Returns:
      query for further composition
      API:
      This public API is available in Java.
    • name

      Prepares a where statement for the column Name.
      Must be followed by a call to a condition method.

      Returns:
      query for further composition
      API:
      This public API is available in Java.
    • fullName

      Prepares a where statement for the column FullName.
      Must be followed by a call to a condition method.

      Returns:
      query for further composition
      API:
      This public API is available in Java.
    • securitySystemId

      Prepares a where statement for the column SecuritySystemId.
      Must be followed by a call to a condition method.

      Returns:
      query for further composition
      API:
      This public API is available in Java.
    • externalId

      Prepares a where statement for the column ExternalId.
      Must be followed by a call to a condition method.

      Returns:
      query for further composition
      API:
      This public API is available in Java.
    • eMailAddress

      Prepares a where statement for the column EMailAddress.
      Must be followed by a call to a condition method.

      Returns:
      query for further composition
      API:
      This public API is available in Java.
    • securityMemberId

      Prepares a where statement for the column SecurityMemberId.
      Must be followed by a call to a condition method.

      Returns:
      query for further composition
      API:
      This public API is available in Java.