public abstract class CustomCondition
extends java.lang.Object
Condition implementations in client code.
Client code may provide proper Condition implementations extending
this useful base class. All necessary parts of the Condition
interface are already implemented. Only these two methods need further
implementation:
| Modifier | Constructor and Description |
|---|---|
protected |
CustomCondition() |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(Context<?> ctx)
Subclasses may implement this method.
|
Condition |
and(Condition other)
Combine this condition with another one using the
Operator.AND
operator. |
Condition |
and(Field<java.lang.Boolean> other)
Combine this condition with another one using the
Operator.AND
operator. |
Condition |
and(java.lang.String sql)
Combine this condition with another one using the
Operator.AND
operator. |
Condition |
and(java.lang.String sql,
java.lang.Object... bindings)
Combine this condition with another one using the
Operator.AND
operator. |
Condition |
and(java.lang.String sql,
QueryPart... parts)
Combine this condition with another one using the
Operator.AND
operator. |
Condition |
andExists(Select<?> select)
Combine this condition with an EXISTS clause using the
Operator.AND operator. |
Condition |
andNot(Condition other)
Combine this condition with a negated other one using the
Operator.AND operator. |
Condition |
andNot(Field<java.lang.Boolean> other)
Combine this condition with a negated other one using the
Operator.AND operator. |
Condition |
andNotExists(Select<?> select)
Combine this condition with a NOT EXIST clause using the
Operator.AND operator. |
void |
bind(BindContext context)
Deprecated.
- 3.4.0 - [#2694] - Use
accept(Context) instead. |
Clause[] |
clauses(Context<?> ctx)
The
Clauses that are represented by this query part. |
protected DSLContext |
create()
Internal convenience method
|
protected DSLContext |
create(Configuration configuration)
Internal convenience method
|
protected DSLContext |
create(Context<?> ctx)
Internal convenience method
|
boolean |
declaresCTE()
Subclasses may override this
|
boolean |
declaresFields()
Subclasses may override this
|
boolean |
declaresTables()
Subclasses may override this
|
boolean |
declaresWindows()
Subclasses may override this
|
boolean |
equals(java.lang.Object that)
Check whether this
QueryPart can be considered equal to
another QueryPart. |
int |
hashCode()
Generate a hash code from this
QueryPart. |
Condition |
not()
Invert this condition
This is the same as calling
DSL.not(Condition) |
Condition |
or(Condition other)
Combine this condition with another one using the
Operator.OR
operator. |
Condition |
or(Field<java.lang.Boolean> other)
Combine this condition with another one using the
Operator.OR
operator. |
Condition |
or(java.lang.String sql)
Combine this condition with another one using the
Operator.OR
operator. |
Condition |
or(java.lang.String sql,
java.lang.Object... bindings)
Combine this condition with another one using the
Operator.OR
operator. |
Condition |
or(java.lang.String sql,
QueryPart... parts)
Combine this condition with another one using the
Operator.OR
operator. |
Condition |
orExists(Select<?> select)
Combine this condition with an EXISTS clause using the
Operator.OR operator. |
Condition |
orNot(Condition other)
Combine this condition with a negated other one using the
Operator.OR operator. |
Condition |
orNot(Field<java.lang.Boolean> other)
Combine this condition with a negated other one using the
Operator.OR operator. |
Condition |
orNotExists(Select<?> select)
Combine this condition with a NOT EXIST clause using the
Operator.OR operator. |
void |
toSQL(RenderContext context)
Deprecated.
- 3.4.0 - [#2694] - Use
accept(Context) instead. |
java.lang.String |
toString()
Render a SQL string of this
QueryPart
For improved debugging, this renders a SQL string of this
QueryPart with inlined bind variables. |
protected DataAccessException |
translate(java.lang.String sql,
java.sql.SQLException e)
Internal convenience method
|
@Deprecated public void toSQL(RenderContext context)
accept(Context) instead.QueryPart to a SQL string contained in
context.sql(). The context will contain
additional information about how to render this QueryPart,
e.g. whether this QueryPart should be rendered as a
declaration or reference, whether this QueryPart's contained
bind variables should be inlined or replaced by '?', etc.toSQL in interface QueryPartInternalpublic void accept(Context<?> ctx)
QueryPart can accept a Context object
in order to render a SQL string or to bind its variables.accept in interface QueryPartInternal@Deprecated public void bind(BindContext context) throws DataAccessException
accept(Context) instead.QueryPart to a PreparedStatement
This method is for JOOQ INTERNAL USE only. Do not reference directly
bind in interface QueryPartInternalcontext - The context holding the next bind index and other information
for variable bindingDataAccessException - If something went wrong while binding a
variablepublic final Clause[] clauses(Context<?> ctx)
QueryPartInternalClauses that are represented by this query part.
QueryParts can specify several Clauses for which an
event will be emitted before (in forward
order) and after (in reverse order) visiting
the the query part through Context.visit(QueryPart)
This method is for JOOQ INTERNAL USE only. Do not reference directly
clauses in interface QueryPartInternalClauses represented by this query part or
null or an empty array if this query part does not
represent a clause.public final boolean declaresFields()
declaresFields in interface QueryPartInternalpublic final boolean declaresTables()
declaresTables in interface QueryPartInternalpublic final Condition and(Condition other)
ConditionOperator.AND
operator.public Condition and(Field<java.lang.Boolean> other)
ConditionOperator.AND
operator.public final Condition or(Condition other)
ConditionOperator.OR
operator.public final Condition or(Field<java.lang.Boolean> other)
ConditionOperator.OR
operator.public final Condition and(java.lang.String sql)
ConditionOperator.AND
operator.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
and in interface Conditionsql - The other conditionDSL.condition(String)public final Condition and(java.lang.String sql, java.lang.Object... bindings)
ConditionOperator.AND
operator.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
and in interface Conditionsql - The other conditionbindings - The bindingsDSL.condition(String, Object...)public final Condition and(java.lang.String sql, QueryPart... parts)
ConditionOperator.AND
operator.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
and in interface Conditionsql - The SQL clause, containing {numbered placeholders} where query
parts can be injectedparts - The QueryPart objects that are rendered at the
{numbered placeholder} locationsDSL.condition(String, QueryPart...)public final Condition or(java.lang.String sql)
ConditionOperator.OR
operator.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
or in interface Conditionsql - The other conditionDSL.condition(String)public final Condition or(java.lang.String sql, java.lang.Object... bindings)
ConditionOperator.OR
operator.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
or in interface Conditionsql - The other conditionbindings - The bindingsDSL.condition(String, Object...)public final Condition or(java.lang.String sql, QueryPart... parts)
ConditionOperator.OR
operator.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
or in interface Conditionsql - The SQL clause, containing {numbered placeholders} where query
parts can be injectedparts - The QueryPart objects that are rendered at the
{numbered placeholder} locationsDSL.condition(String, Object...)public final Condition andNot(Condition other)
ConditionOperator.AND operator.public final Condition andNot(Field<java.lang.Boolean> other)
ConditionOperator.AND operator.public final Condition orNot(Condition other)
ConditionOperator.OR operator.public final Condition orNot(Field<java.lang.Boolean> other)
ConditionOperator.OR operator.public final Condition andExists(Select<?> select)
ConditionOperator.AND operator.public final Condition andNotExists(Select<?> select)
ConditionOperator.AND operator.andNotExists in interface Conditionselect - The EXISTS's subquerypublic final Condition orExists(Select<?> select)
ConditionOperator.OR operator.public final Condition orNotExists(Select<?> select)
ConditionOperator.OR operator.orNotExists in interface Conditionselect - The EXISTS's subquerypublic final Condition not()
Condition
This is the same as calling DSL.not(Condition)
public boolean declaresWindows()
declaresWindows in interface QueryPartInternalpublic boolean declaresCTE()
declaresCTE in interface QueryPartInternalpublic boolean equals(java.lang.Object that)
QueryPartQueryPart can be considered equal to
another QueryPart.
In general, QueryPart equality is defined in terms of
QueryPart.toString() equality. In other words, two query parts are
considered equal if their rendered SQL (with inlined bind variables) is
equal. This means that the two query parts do not necessarily have to be
of the same type.
Some QueryPart implementations may choose to override this
behaviour for improved performance, as QueryPart.toString() is an
expensive operation, if called many times.
public int hashCode()
QueryPartQueryPart.
In general, QueryPart hash codes are the same as the hash
codes generated from QueryPart.toString(). This guarantees consistent
behaviour with QueryPart.equals(Object)
Some QueryPart implementations may choose to override this
behaviour for improved performance, as QueryPart.toString() is an
expensive operation, if called many times.
public java.lang.String toString()
QueryPartQueryPart
For improved debugging, this renders a SQL string of this
QueryPart with inlined bind variables. If you wish to gain
more control over the concrete SQL rendering of this
QueryPart, use DSLContext.renderContext() to obtain a
configurable render context for SQL rendering.
protected final DSLContext create()
protected final DSLContext create(Configuration configuration)
protected final DSLContext create(Context<?> ctx)
protected final DataAccessException translate(java.lang.String sql, java.sql.SQLException e)
Copyright © 2015. All Rights Reserved.