Enum Class ModelCriteriaBuilder.Operator

java.lang.Object
java.lang.Enum<ModelCriteriaBuilder.Operator>
org.keycloak.models.map.storage.ModelCriteriaBuilder.Operator
All Implemented Interfaces:
Serializable, Comparable<ModelCriteriaBuilder.Operator>, Constable
Enclosing interface:
ModelCriteriaBuilder<M,Self extends ModelCriteriaBuilder<M,Self>>

public static enum ModelCriteriaBuilder.Operator extends Enum<ModelCriteriaBuilder.Operator>
The operators are very basic ones for this use case. In the real scenario, new operators can be added, possibly with different arity, e.g. IN. The ModelCriteriaBuilder.compare(org.keycloak.storage.SearchableModelField<? super M>, org.keycloak.models.map.storage.ModelCriteriaBuilder.Operator, java.lang.Object...) method would need an adjustment then, likely to taky vararg value instead of single value as it is now.
  • Enum Constant Details

    • EQ

      public static final ModelCriteriaBuilder.Operator EQ
      Equals to
    • NE

      public static final ModelCriteriaBuilder.Operator NE
      Not equals to
    • LT

      public static final ModelCriteriaBuilder.Operator LT
      Less than
    • LE

      public static final ModelCriteriaBuilder.Operator LE
      Less than or equal
    • GT

      public static final ModelCriteriaBuilder.Operator GT
      Greater than
    • GE

      public static final ModelCriteriaBuilder.Operator GE
      Greater than or equal
    • LIKE

      public static final ModelCriteriaBuilder.Operator LIKE
      Similar to SQL case-sensitive LIKE Whole string is matched. Percent sign means "any characters", question mark means "any single character":
      • field LIKE "abc" means value of the field field must match exactly abc
      • field LIKE "abc%" means value of the field field must start with abc
      • field LIKE "%abc" means value of the field field must end with abc
      • field LIKE "%abc%" means value of the field field must contain abc
    • ILIKE

      public static final ModelCriteriaBuilder.Operator ILIKE
      Similar to SQL case-insensitive LIKE. Whole string is matched. Percent sign means "any characters", question mark means "any single character":
      • field ILIKE "abc" means value of the field field must match exactly abc, ABC, aBc etc.
      • field ILIKE "abc%" means value of the field field must start with abc, ABC, aBc etc.
      • field ILIKE "%abc" means value of the field field must end with abc, ABC, aBc etc.
      • field ILIKE "%abc%" means value of the field field must contain abc, ABC, aBc etc.
    • IN

      public static final ModelCriteriaBuilder.Operator IN
      Operator for belonging into a collection of values. Operand in value can be an array (via an implicit conversion of the vararg), a Collection or a Stream.
    • EXISTS

      public static final ModelCriteriaBuilder.Operator EXISTS
      Is not null and, in addition, in case of collection not empty
    • NOT_EXISTS

      public static final ModelCriteriaBuilder.Operator NOT_EXISTS
      Is null or, in addition, in case of collection empty
  • Method Details

    • values

      public static ModelCriteriaBuilder.Operator[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static ModelCriteriaBuilder.Operator valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null