Class BeanQuery.GroupBuilder
java.lang.Object
org.apache.juneau.commons.beanquery.BeanQuery.GroupBuilder
- Enclosing class:
- BeanQuery
A group of cross-column conditions built with
BeanQuery.Builder.or(Consumer),
BeanQuery.Builder.and(Consumer), or BeanQuery.Builder.not(Consumer).
Exposes the same condition methods as BeanQuery.Builder, minus paging/view/sort/opts, since a group only
ever contributes conditions to its enclosing level.
Example:
BeanQuery.
- Since:
- 10.0.0
-
Method Summary
Modifier and TypeMethodDescriptionand(Consumer<BeanQuery.GroupBuilder> block) Adds a cross-column$and(...) group.Adds a between condition, inclusive of both bounds.Adds a blank-value condition.Adds a substring-match condition.Adds an equals condition.Adds a greater-than condition.Adds a greater-than-or-equal condition.Adds an in-list condition, true if the column matches any ofvalues.Adds a less-than condition.Adds a less-than-or-equal condition.Adds a not-equals condition, true if the column matches none ofvalues.not(Consumer<BeanQuery.GroupBuilder> block) Adds a$not(...) group.Adds a not-blank condition.Escape hatch for an operator not exposed by a dedicated method above.or(Consumer<BeanQuery.GroupBuilder> block) Adds a cross-column$or(...) group.Adds a prefix-match condition.Adds a regex-match condition.Adds a regex-match condition with flags.Escape hatch for a raw, already-formatted expression.
-
Method Details
-
eq
Adds an equals condition.- Parameters:
column- The column name.value- The value to compare against.- Returns:
- This object.
-
ne
Adds a not-equals condition, true if the column matches none ofvalues.- Parameters:
column- The column name.values- The values to compare against.- Returns:
- This object.
-
in
Adds an in-list condition, true if the column matches any ofvalues.- Parameters:
column- The column name.values- The values to compare against.- Returns:
- This object.
-
contains
Adds a substring-match condition.- Parameters:
column- The column name.value- The substring to search for.- Returns:
- This object.
-
prefix
Adds a prefix-match condition.- Parameters:
column- The column name.value- The prefix to match.- Returns:
- This object.
-
blank
Adds a blank-value condition.- Parameters:
column- The column name.- Returns:
- This object.
-
notBlank
Adds a not-blank condition.- Parameters:
column- The column name.- Returns:
- This object.
-
gt
Adds a greater-than condition.- Parameters:
column- The column name.value- The value to compare against.- Returns:
- This object.
-
gte
Adds a greater-than-or-equal condition.- Parameters:
column- The column name.value- The value to compare against.- Returns:
- This object.
-
lt
Adds a less-than condition.- Parameters:
column- The column name.value- The value to compare against.- Returns:
- This object.
-
lte
Adds a less-than-or-equal condition.- Parameters:
column- The column name.value- The value to compare against.- Returns:
- This object.
-
between
Adds a between condition, inclusive of both bounds.- Parameters:
column- The column name.lower- The lower bound.upper- The upper bound.- Returns:
- This object.
-
regex
Adds a regex-match condition. The session still rejects this unless regex search is enabled (context/session design D7).- Parameters:
column- The column name.pattern- The regular expression.- Returns:
- This object.
-
regex
Adds a regex-match condition with flags. The session still rejects this unless regex search is enabled (context/session design D7).- Parameters:
column- The column name.pattern- The regular expression.flags- The regex flags (engine-specific, e.g."i"for case-insensitive).- Returns:
- This object.
-
op
Escape hatch for an operator not exposed by a dedicated method above.namemust start with"$".- Parameters:
column- The column name.name- The operator name, starting with"$".values- The operator's arguments.- Returns:
- This object.
-
search
Escape hatch for a raw, already-formatted expression. Unlike every other condition method, the expression is used as-is and is not quoted.- Parameters:
column- The column name.expression- The raw expression, e.g."$eq(\"bob\")".- Returns:
- This object.
-
or
Adds a cross-column$or(...) group. A block that adds no items adds nothing; a block that adds exactly one item emits that item unwrapped (no$or(...) wrapper).- Parameters:
block- Populates the group's conditions on a freshBeanQuery.GroupBuilder.- Returns:
- This object.
-
and
Adds a cross-column$and(...) group. A block that adds no items adds nothing; a block that adds exactly one item emits that item unwrapped (no$and(...) wrapper).- Parameters:
block- Populates the group's conditions on a freshBeanQuery.GroupBuilder.- Returns:
- This object.
-
not
Adds a$not(...) group. The block must add exactly one item (a leaf or a nested group); any other count throwsIllegalArgumentException.- Parameters:
block- Populates the single negated condition on a freshBeanQuery.GroupBuilder.- Returns:
- This object.
- Throws:
IllegalArgumentException- If the block adds a number of items other than exactly one.
-