Class LdapModelCriteriaBuilder<E,M,Self extends LdapModelCriteriaBuilder<E,M,Self>>

java.lang.Object
org.keycloak.models.map.storage.ldap.LdapModelCriteriaBuilder<E,M,Self>
Type Parameters:
E - Entity
M - Model
Self - specific implementation of this class
All Implemented Interfaces:
ModelCriteriaBuilder<M,Self>
Direct Known Subclasses:
LdapRoleModelCriteriaBuilder

public abstract class LdapModelCriteriaBuilder<E,M,Self extends LdapModelCriteriaBuilder<E,M,Self>> extends Object implements ModelCriteriaBuilder<M,Self>
Abstract class containing methods common to all Ldap*ModelCriteriaBuilder implementations
  • Constructor Details

  • Method Details

    • and

      public Self and(Self... builders)
      Description copied from interface: ModelCriteriaBuilder
      Creates and returns a new instance of ModelCriteriaBuilder that combines the given builders with the Boolean AND operator.

      Predicate coming out of and on an empty array of builders (i.e. empty conjunction) is always true.

         cb = storage.getCriteriaBuilder();
         storage.read(cb.or(
           cb.and(cb.compare(FIELD1, EQ, 1), cb.compare(FIELD2, EQ, 2)),
           cb.and(cb.compare(FIELD1, EQ, 3), cb.compare(FIELD2, EQ, 4))
         );
       
      Specified by:
      and in interface ModelCriteriaBuilder<E,M>
    • or

      public Self or(Self... builders)
      Description copied from interface: ModelCriteriaBuilder
      Creates and returns a new instance of ModelCriteriaBuilder that combines the given builders with the Boolean OR operator.

      Predicate coming out of or on an empty array of builders (i.e. empty disjunction) is always false.

         cb = storage.getCriteriaBuilder();
         storage.read(cb.or(
           cb.compare(FIELD1, EQ, 1).compare(FIELD2, EQ, 2),
           cb.compare(FIELD1, EQ, 3).compare(FIELD2, EQ, 4)
         );
       
      Specified by:
      or in interface ModelCriteriaBuilder<E,M>
    • not

      public Self not(Self builder)
      Description copied from interface: ModelCriteriaBuilder
      Creates and returns a new instance of ModelCriteriaBuilder that negates the given builder.

      Note that if the builder has no condition yet, there is nothing to negate: empty negation is always true.

      Specified by:
      not in interface ModelCriteriaBuilder<E,M>
      Returns:
    • getPredicateFunc

      public Supplier<StringBuilder> getPredicateFunc()
    • equal

      protected StringBuilder equal(String field, Object value, LdapMapEscapeStrategy ldapMapEscapeStrategy, boolean isBinary)
    • in

      protected StringBuilder in(String name, Object[] valuesToCompare, boolean isBinary)