- All Superinterfaces:
Field<T>,FieldOrConstraint,FieldOrRow,FieldOrRowOrSelect,GroupField,Named,OrderField<T>,QueryPart,SelectField<T>,SelectFieldOrAsterisk,Serializable,TableElement,Typed<T>
- Enclosing class:
QOM
The
JSON QUERY function.-
Method Summary
Modifier and TypeMethodDescription$arg1()default QOM.JSONQuery<T> $arg2()default QOM.JSONQuery<T> $arg3()default QOM.JSONQuery<T> $arg4()default QOM.JSONQuery<T> $arg4(QOM.JSONQueryBehavior newArg4) $arg5()default QOM.JSONQuery<T> $arg5(QOM.JSONQueryBehavior newArg5) DataType<?> $arg6()default QOM.JSONQuery<T> default @NotNull List<?> $args()@NotNull Function6<? super DataType<T>, ? super Field<T>, ? super Field<String>, ? super QOM.JSONQueryBehavior, ? super QOM.JSONQueryBehavior, ? super DataType<?>, ? extends QOM.JSONQuery<T>> $json()default @NotNull QOM.JSONQuery<T> default @Nullable QOM.JSONQueryBehavior$onEmpty()default @NotNull QOM.JSONQuery<T> $onEmpty(QOM.JSONQueryBehavior newOnEmpty) default @Nullable QOM.JSONQueryBehavior$onError()default @NotNull QOM.JSONQuery<T> $onError(QOM.JSONQueryBehavior newOnError) $path()default @NotNull QOM.JSONQuery<T> default QueryPartTraverse aQueryParthierarchy and recursively replace its elements by alternatives.default @Nullable DataType<?> default @NotNull QOM.JSONQuery<T> $returning(DataType<?> newReturning) default <T> T$type()default @NotNull QOM.JSONQuery<T> Methods inherited from interface org.jooq.Field
abs, acos, add, add, as, as, as, as, asc, ascii, asin, atan, atan2, atan2, avg, avgOver, between, between, between, between, betweenSymmetric, betweenSymmetric, betweenSymmetric, betweenSymmetric, binaryLike, binaryLike, binaryLike, bitAnd, bitAnd, bitLength, bitNand, bitNand, bitNor, bitNor, bitNot, bitOr, bitOr, bitXNor, bitXNor, bitXor, bitXor, cast, cast, cast, ceil, changed, charLength, coalesce, coalesce, coerce, coerce, coerce, collate, collate, collate, comment, comment, compare, compare, compare, compare, concat, concat, concat, contains, contains, containsIgnoreCase, containsIgnoreCase, convert, convert, convert, convertFrom, convertFrom, convertTo, convertTo, cos, cosh, cot, coth, count, countDistinct, countOver, decode, decode, decode, decode, deg, desc, div, div, divide, divide, endsWith, endsWith, endsWithIgnoreCase, endsWithIgnoreCase, eq, eq, eq, eq, equal, equal, equal, equal, equalIgnoreCase, equalIgnoreCase, equals, exp, extract, field, firstValue, floor, from, ge, ge, ge, ge, get, getComment, getName, getValue, greaterOrEqual, greaterOrEqual, greaterOrEqual, greaterOrEqual, greaterThan, greaterThan, greaterThan, greaterThan, greatest, greatest, gt, gt, gt, gt, in, in, in, in, in, isDistinctFrom, isDistinctFrom, isDistinctFrom, isDocument, isFalse, isJson, isNotDistinctFrom, isNotDistinctFrom, isNotDistinctFrom, isNotDocument, isNotJson, isNotNull, isNull, isTrue, lag, lag, lag, lag, lastValue, le, le, le, le, lead, lead, lead, lead, least, least, length, lessOrEqual, lessOrEqual, lessOrEqual, lessOrEqual, lessThan, lessThan, lessThan, lessThan, like, like, like, like, like, likeIgnoreCase, likeIgnoreCase, likeIgnoreCase, likeIgnoreCase, likeRegex, likeRegex, ln, log, lower, lpad, lpad, lpad, lpad, lt, lt, lt, lt, ltrim, max, maxOver, median, min, minOver, minus, minus, mod, mod, modulo, modulo, mul, mul, multiply, multiply, ne, ne, ne, ne, neg, notBetween, notBetween, notBetween, notBetween, notBetweenSymmetric, notBetweenSymmetric, notBetweenSymmetric, notBetweenSymmetric, notBinaryLike, notBinaryLike, notBinaryLike, notContains, notContains, notContainsIgnoreCase, notContainsIgnoreCase, notEqual, notEqual, notEqual, notEqual, notEqualIgnoreCase, notEqualIgnoreCase, notIn, notIn, notIn, notIn, notIn, notLike, notLike, notLike, notLike, notLike, notLikeIgnoreCase, notLikeIgnoreCase, notLikeIgnoreCase, notLikeIgnoreCase, notLikeRegex, notLikeRegex, notSimilarTo, notSimilarTo, notSimilarTo, notSimilarTo, notSimilarTo, nullif, nullif, nullsFirst, nullsLast, nvl, nvl, nvl2, nvl2, octetLength, original, plus, plus, plus, position, position, pow, pow, power, power, rad, rem, rem, repeat, repeat, replace, replace, replace, replace, reset, round, round, rpad, rpad, rpad, rpad, rtrim, shl, shl, shr, shr, sign, similarTo, similarTo, similarTo, similarTo, similarTo, sin, sinh, sort, sort, sortAsc, sortAsc, sortDefault, sortDesc, sortDesc, sqrt, startsWith, startsWith, startsWithIgnoreCase, startsWithIgnoreCase, stddevPop, stddevPopOver, stddevSamp, stddevSampOver, sub, sub, substring, substring, substring, substring, subtract, subtract, sum, sumOver, tan, tanh, times, times, touched, trim, unaryMinus, unaryPlus, upper, varPop, varPopOver, varSamp, varSampOverMethods inherited from interface org.jooq.Named
$name, getCommentPart, getQualifiedName, getUnqualifiedNameMethods inherited from interface org.jooq.Typed
$dataType, getBinding, getConverter, getDataType, getDataType, getType
-
Method Details
-
$type
-
$type
-
$json
-
$json
-
$path
-
$path
-
$onEmpty
-
$onEmpty
@CheckReturnValue @NotNull default @NotNull QOM.JSONQuery<T> $onEmpty(QOM.JSONQueryBehavior newOnEmpty) -
$onError
-
$onError
@CheckReturnValue @NotNull default @NotNull QOM.JSONQuery<T> $onError(QOM.JSONQueryBehavior newOnError) -
$returning
-
$returning
-
$arg1
-
$arg2
-
$arg3
-
$arg4
QOM.JSONQueryBehavior $arg4() -
$arg5
QOM.JSONQueryBehavior $arg5() -
$arg6
DataType<?> $arg6() -
$arg1
-
$arg2
-
$arg3
-
$arg4
-
$arg5
-
$arg6
-
$constructor
@NotNull @NotNull Function6<? super DataType<T>,? super Field<T>, $constructor()? super Field<String>, ? super QOM.JSONQueryBehavior, ? super QOM.JSONQueryBehavior, ? super DataType<?>, ? extends QOM.JSONQuery<T>> -
$args
-
$traverse
Description copied from interface:QueryPartTraverser thisQueryPartexpression tree using a composableTraverser, producing a result.This offers a generic way to traverse expression trees to translate the tree to arbitrary other data structures. The simplest traversal would just count all the tree elements:
int count = CUSTOMER.NAME.eq(1).$traverse(0, (i, p) -> i + 1);The same can be achieved by translating the JDK
CollectorAPI to theTraverserAPI usingTraversers.collecting(Collector).CUSTOMER.NAME.eq(1).$traverse(Traversers.collecting(Collectors.counting()));Unlike a
Collector, aTraverseris optimised for tree traversal, not stream traversal:- Is not designed for parallelism
- It can
Traverser.abort()traversal early when the result can be produced early (e.g. when runningTraversers.containing(QueryPart), and a result has been found). - It can decide whether to
Traverser.recurse()into aQueryPartsubtree, or whether that is not necessary or even undesirable, e.g. to prevent entering new subquery scopes. - Unlike a Collector, which can use its
Collector.accumulator()to accumulate each element only once, in tree traversal, it's desirable to be able to distinguish between accumulating an itemTraverser.before()orTraverser.after()recursing into it. This is useful e.g. to wrap each tree node in XML opening and closing tags.
This is a commercial jOOQ edition only feature.
-
$replace
Description copied from interface:QueryPart
-