Class BeanQuery.Builder
java.lang.Object
org.apache.juneau.commons.beanquery.BeanQuery.Builder
- Enclosing class:
- BeanQuery
Builds an immutable
BeanQuery. Create with BeanQuery.create(); derive one from an existing
query with BeanQuery.copy().
Exposes every BeanQuery.GroupBuilder condition method (they add top-level conditions here) plus
view/sort/paging/opts/counts and build().
Example:
BeanQuery
- Since:
- 10.0.0
-
Method Summary
Modifier and TypeMethodDescriptionand(Consumer<BeanQuery.GroupBuilder> block) Same asBeanQuery.GroupBuilder.and(Consumer), adding a top-level group.Same asBeanQuery.GroupBuilder.between(String,Object,Object), adding a top-level condition.Same asBeanQuery.GroupBuilder.blank(String), adding a top-level condition.build()Builds a new, immutableBeanQueryfrom this builder's current state.Same asBeanQuery.GroupBuilder.contains(String,Object), adding a top-level condition.counts(CountRequest request) Sets thecountsoption from aCountRequest.Same asBeanQuery.GroupBuilder.eq(String,Object), adding a top-level condition.Same asBeanQuery.GroupBuilder.gt(String,Object), adding a top-level condition.Same asBeanQuery.GroupBuilder.gte(String,Object), adding a top-level condition.Same asBeanQuery.GroupBuilder.in(String,Object...), adding a top-level condition.limit(int limit) Sets the maximum number of rows to return.Same asBeanQuery.GroupBuilder.lt(String,Object), adding a top-level condition.Same asBeanQuery.GroupBuilder.lte(String,Object), adding a top-level condition.Same asBeanQuery.GroupBuilder.ne(String,Object...), adding a top-level condition.not(Consumer<BeanQuery.GroupBuilder> block) Same asBeanQuery.GroupBuilder.not(Consumer), adding a top-level group.Same asBeanQuery.GroupBuilder.notBlank(String), adding a top-level condition.Same asBeanQuery.GroupBuilder.op(String,String,Object...), adding a top-level condition.Sets a free-form option, overwriting any earlier value for the same key.or(Consumer<BeanQuery.GroupBuilder> block) Same asBeanQuery.GroupBuilder.or(Consumer), adding a top-level group.page(int start, int length) Setsposition(int)andlimit(int)together.position(int position) Sets the zero-based row offset.Same asBeanQuery.GroupBuilder.prefix(String,Object), adding a top-level condition.Same asBeanQuery.GroupBuilder.regex(String,String), adding a top-level condition.Same asBeanQuery.GroupBuilder.regex(String,String,String), adding a top-level condition.Same asBeanQuery.GroupBuilder.search(String,String), adding a top-level condition.Appends an ascending sort key; does not replace keys already added.Appends a descending sort key (column + ":desc"); does not replace keys already added.Appends columns to the view list; does not replace columns already added.
-
Method Details
-
eq
Same asBeanQuery.GroupBuilder.eq(String,Object), adding a top-level condition. @param column The column name. @param value The value. @return This object. -
ne
Same asBeanQuery.GroupBuilder.ne(String,Object...), adding a top-level condition. @param column The column name. @param values The values. @return This object. -
in
Same asBeanQuery.GroupBuilder.in(String,Object...), adding a top-level condition. @param column The column name. @param values The values. @return This object. -
contains
Same asBeanQuery.GroupBuilder.contains(String,Object), adding a top-level condition. @param column The column name. @param value The value. @return This object. -
prefix
Same asBeanQuery.GroupBuilder.prefix(String,Object), adding a top-level condition. @param column The column name. @param value The value. @return This object. -
blank
Same asBeanQuery.GroupBuilder.blank(String), adding a top-level condition. @param column The column name. @return This object. -
notBlank
Same asBeanQuery.GroupBuilder.notBlank(String), adding a top-level condition. @param column The column name. @return This object. -
gt
Same asBeanQuery.GroupBuilder.gt(String,Object), adding a top-level condition. @param column The column name. @param value The value. @return This object. -
gte
Same asBeanQuery.GroupBuilder.gte(String,Object), adding a top-level condition. @param column The column name. @param value The value. @return This object. -
lt
Same asBeanQuery.GroupBuilder.lt(String,Object), adding a top-level condition. @param column The column name. @param value The value. @return This object. -
lte
Same asBeanQuery.GroupBuilder.lte(String,Object), adding a top-level condition. @param column The column name. @param value The value. @return This object. -
between
Same asBeanQuery.GroupBuilder.between(String,Object,Object), adding a top-level condition. @param column The column name. @param lower The lower bound. @param upper The upper bound. @return This object. -
regex
Same asBeanQuery.GroupBuilder.regex(String,String), adding a top-level condition. @param column The column name. @param pattern The regular expression. @return This object. -
regex
Same asBeanQuery.GroupBuilder.regex(String,String,String), adding a top-level condition. @param column The column name. @param pattern The regular expression. @param flags The regex flags. @return This object. -
op
Same asBeanQuery.GroupBuilder.op(String,String,Object...), adding a top-level condition. @param column The column name. @param name The operator name, starting with"$". @param values The operator's arguments. @return This object. -
search
Same asBeanQuery.GroupBuilder.search(String,String), adding a top-level condition. @param column The column name. @param expression The raw expression. @return This object. -
or
Same asBeanQuery.GroupBuilder.or(Consumer), adding a top-level group. @param block Populates the group. @return This object. -
and
Same asBeanQuery.GroupBuilder.and(Consumer), adding a top-level group. @param block Populates the group. @return This object. -
not
Same asBeanQuery.GroupBuilder.not(Consumer), adding a top-level group. @param block Populates the negated condition. @return This object. @throws IllegalArgumentException If the block adds a number of items other than exactly one. -
view
Appends columns to the view list; does not replace columns already added.- Parameters:
columns- The columns to append. Must not benull , nor contain anull element.- Returns:
- This object.
- Throws:
IllegalArgumentException- Ifcolumnsisnull or contains anull element.
-
sort
Appends an ascending sort key; does not replace keys already added.- Parameters:
column- The column to sort by.- Returns:
- This object.
-
sortDesc
Appends a descending sort key (column + ":desc"); does not replace keys already added.- Parameters:
column- The column to sort by, descending.- Returns:
- This object.
-
position
Sets the zero-based row offset.- Parameters:
position- The row offset; must not be negative.- Returns:
- This object.
- Throws:
IllegalArgumentException- Ifpositionis negative.
-
limit
Sets the maximum number of rows to return. A negative value is clamped to the literal-1(meaning "as many rows as the session allows"), never dropped tonull.- Parameters:
limit- The row limit.- Returns:
- This object.
-
page
Setsposition(int)andlimit(int)together.- Parameters:
start- The zero-based row offset; must not be negative.length- The maximum number of rows to return; a negative value means "as many as allowed".- Returns:
- This object.
- Throws:
IllegalArgumentException- Ifstartis negative.
-
opt
Sets a free-form option, overwriting any earlier value for the same key.- Parameters:
key- The option name. Must not benull or blank.value- The option value. Must not benull .- Returns:
- This object.
- Throws:
IllegalArgumentException- Ifkeyisnull or blank, orvalueisnull .
-
counts
Sets thecountsoption from aCountRequest.CountRequest.NONEremoves thecountsoption entirely (rather than writing a"none"value).- Parameters:
request- The requested counts.- Returns:
- This object.
-
build
Builds a new, immutableBeanQueryfrom this builder's current state. The builder remains usable afterward; later calls do not affect theBeanQueryalready built.- Returns:
- A new
BeanQuery.
-