- java.lang.Object
-
- org.jooq.impl.CustomCondition
-
- All Implemented Interfaces:
Serializable,Condition,QueryPart,QueryPartInternal
public abstract class CustomCondition extends Object
A base class for customConditionimplementations in client code.Client code may provide proper
Conditionimplementations extending this useful base class. All necessary parts of theConditioninterface are already implemented. Only this method needs further implementation:accept(Context).Refer to that methods' Javadoc for further details about their expected behaviour.
- Author:
- Lukas Eder
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedCustomCondition()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description abstract voidaccept(Context<?> ctx)Subclasses must implement this method.Conditionand(Boolean other)Combine this condition with another one using theOperator.ANDoperator.Conditionand(String sql)Combine this condition with another one using theOperator.ANDoperator.Conditionand(String sql, Object... bindings)Combine this condition with another one using theOperator.ANDoperator.Conditionand(String sql, QueryPart... parts)Combine this condition with another one using theOperator.ANDoperator.Conditionand(Condition other)Combine this condition with another one using theOperator.ANDoperator.Conditionand(Field<Boolean> other)Combine this condition with another one using theOperator.ANDoperator.Conditionand(SQL sql)Combine this condition with another one using theOperator.ANDoperator.ConditionandExists(Select<?> select)Combine this condition with an EXISTS clause using theOperator.ANDoperator.ConditionandNot(Boolean other)Combine this condition with a negated other one using theOperator.ANDoperator.ConditionandNot(Condition other)Combine this condition with a negated other one using theOperator.ANDoperator.ConditionandNot(Field<Boolean> other)Combine this condition with a negated other one using theOperator.ANDoperator.ConditionandNotExists(Select<?> select)Combine this condition with a NOT EXIST clause using theOperator.ANDoperator.voidbind(BindContext context)Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)instead.Clause[]clauses(Context<?> ctx)TheClauses that are represented by this query part.protected DSLContextcreate()Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.protected DSLContextcreate(Configuration configuration)Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.protected DSLContextcreate(Context<?> ctx)Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.booleandeclaresCTE()Subclasses may override thisbooleandeclaresFields()Subclasses may override thisbooleandeclaresTables()Subclasses may override thisbooleandeclaresWindows()Subclasses may override thisbooleanequals(Object that)Check whether thisQueryPartcan be considered equal to anotherQueryPart.booleangeneratesCast()Subclasses may override thisinthashCode()Generate a hash code from thisQueryPart.Conditionnot()Invert this conditionConditionor(Boolean other)Combine this condition with another one using theOperator.ORoperator.Conditionor(String sql)Combine this condition with another one using theOperator.ORoperator.Conditionor(String sql, Object... bindings)Combine this condition with another one using theOperator.ORoperator.Conditionor(String sql, QueryPart... parts)Combine this condition with another one using theOperator.ORoperator.Conditionor(Condition other)Combine this condition with another one using theOperator.ORoperator.Conditionor(Field<Boolean> other)Combine this condition with another one using theOperator.ORoperator.Conditionor(SQL sql)Combine this condition with another one using theOperator.ORoperator.ConditionorExists(Select<?> select)Combine this condition with an EXISTS clause using theOperator.ORoperator.ConditionorNot(Boolean other)Combine this condition with a negated other one using theOperator.ORoperator.ConditionorNot(Condition other)Combine this condition with a negated other one using theOperator.ORoperator.ConditionorNot(Field<Boolean> other)Combine this condition with a negated other one using theOperator.ORoperator.ConditionorNotExists(Select<?> select)Combine this condition with a NOT EXIST clause using theOperator.ORoperator.voidtoSQL(RenderContext context)Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)instead.StringtoString()Render a SQL string representation of thisQueryPart.protected DataAccessExceptiontranslate(String sql, SQLException e)Internal convenience method
-
-
-
Method Detail
-
accept
public abstract void accept(Context<?> ctx)
-
clauses
public final Clause[] clauses(Context<?> ctx)
Description copied from interface:QueryPartInternalTheClauses that are represented by this query part.QueryParts can specify severalClauses for which an event will be emittedbefore(in forward order) andafter(in reverse order) visiting the the query part throughContext.visit(QueryPart)This method is for JOOQ INTERNAL USE only. Do not reference directly
- Specified by:
clausesin interfaceQueryPartInternal- Returns:
- The
Clauses represented by this query part ornullor an empty array if this query part does not represent a clause.
-
declaresFields
public final boolean declaresFields()
Subclasses may override this- Specified by:
declaresFieldsin interfaceQueryPartInternal
-
declaresTables
public final boolean declaresTables()
Subclasses may override this- Specified by:
declaresTablesin interfaceQueryPartInternal
-
and
public final Condition and(Condition other)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ANDoperator.
-
and
public Condition and(Field<Boolean> other)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ANDoperator.
-
and
public Condition and(Boolean other)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ANDoperator.
-
or
public final Condition or(Condition other)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ORoperator.
-
or
public final Condition or(Field<Boolean> other)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ORoperator.
-
or
public final Condition or(Boolean other)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ORoperator.
-
and
public final Condition and(SQL sql)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ANDoperator.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!
- Specified by:
andin interfaceCondition- Parameters:
sql- The other condition- Returns:
- The combined condition
- See Also:
DSL.condition(SQL),SQL
-
and
public final Condition and(String sql)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ANDoperator.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!
- Specified by:
andin interfaceCondition- Parameters:
sql- The other condition- Returns:
- The combined condition
- See Also:
DSL.condition(String),SQL
-
and
public final Condition and(String sql, Object... bindings)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ANDoperator.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!
- Specified by:
andin interfaceCondition- Parameters:
sql- The other conditionbindings- The bindings- Returns:
- The combined condition
- See Also:
DSL.condition(String, Object...),DSL.sql(String, Object...),SQL
-
and
public final Condition and(String sql, QueryPart... parts)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ANDoperator.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!
- Specified by:
andin interfaceCondition- Parameters:
sql- The SQL clause, containing {numbered placeholders} where query parts can be injectedparts- TheQueryPartobjects that are rendered at the {numbered placeholder} locations- Returns:
- The combined condition
- See Also:
DSL.condition(String, QueryPart...),DSL.sql(String, QueryPart...),SQL
-
or
public final Condition or(SQL sql)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ORoperator.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!
- Specified by:
orin interfaceCondition- Parameters:
sql- The other condition- Returns:
- The combined condition
- See Also:
DSL.condition(SQL),SQL
-
or
public final Condition or(String sql)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ORoperator.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!
- Specified by:
orin interfaceCondition- Parameters:
sql- The other condition- Returns:
- The combined condition
- See Also:
DSL.condition(String),SQL
-
or
public final Condition or(String sql, Object... bindings)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ORoperator.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!
- Specified by:
orin interfaceCondition- Parameters:
sql- The other conditionbindings- The bindings- Returns:
- The combined condition
- See Also:
DSL.condition(String, Object...),DSL.sql(String, Object...),SQL
-
or
public final Condition or(String sql, QueryPart... parts)
Description copied from interface:ConditionCombine this condition with another one using theOperator.ORoperator.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!
- Specified by:
orin interfaceCondition- Parameters:
sql- The SQL clause, containing {numbered placeholders} where query parts can be injectedparts- TheQueryPartobjects that are rendered at the {numbered placeholder} locations- Returns:
- The combined condition
- See Also:
DSL.condition(String, Object...),DSL.sql(String, QueryPart...),SQL
-
andNot
public final Condition andNot(Condition other)
Description copied from interface:ConditionCombine this condition with a negated other one using theOperator.ANDoperator.
-
andNot
public final Condition andNot(Field<Boolean> other)
Description copied from interface:ConditionCombine this condition with a negated other one using theOperator.ANDoperator.
-
andNot
public final Condition andNot(Boolean other)
Description copied from interface:ConditionCombine this condition with a negated other one using theOperator.ANDoperator.
-
orNot
public final Condition orNot(Condition other)
Description copied from interface:ConditionCombine this condition with a negated other one using theOperator.ORoperator.
-
orNot
public final Condition orNot(Field<Boolean> other)
Description copied from interface:ConditionCombine this condition with a negated other one using theOperator.ORoperator.
-
orNot
public final Condition orNot(Boolean other)
Description copied from interface:ConditionCombine this condition with a negated other one using theOperator.ORoperator.
-
andExists
public final Condition andExists(Select<?> select)
Description copied from interface:ConditionCombine this condition with an EXISTS clause using theOperator.ANDoperator.
-
andNotExists
public final Condition andNotExists(Select<?> select)
Description copied from interface:ConditionCombine this condition with a NOT EXIST clause using theOperator.ANDoperator.- Specified by:
andNotExistsin interfaceCondition- Parameters:
select- The EXISTS's subquery- Returns:
- The combined condition
-
orExists
public final Condition orExists(Select<?> select)
Description copied from interface:ConditionCombine this condition with an EXISTS clause using theOperator.ORoperator.
-
orNotExists
public final Condition orNotExists(Select<?> select)
Description copied from interface:ConditionCombine this condition with a NOT EXIST clause using theOperator.ORoperator.- Specified by:
orNotExistsin interfaceCondition- Parameters:
select- The EXISTS's subquery- Returns:
- The combined condition
-
not
public final Condition not()
Description copied from interface:ConditionInvert this conditionThis is the same as calling
DSL.not(Condition)
-
toSQL
@Deprecated public final void toSQL(RenderContext context)
Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)instead.Description copied from interface:QueryPartInternalRender thisQueryPartto a SQL string contained incontext.sql(). Thecontextwill contain additional information about how to render thisQueryPart, e.g. whether thisQueryPartshould be rendered as a declaration or reference, whether thisQueryPart's contained bind variables should be inlined or replaced by'?', etc.- Specified by:
toSQLin interfaceQueryPartInternal
-
bind
@Deprecated public final void bind(BindContext context) throws DataAccessException
Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)instead.Description copied from interface:QueryPartInternalBind all parameters of thisQueryPartto a PreparedStatementThis method is for JOOQ INTERNAL USE only. Do not reference directly
- Specified by:
bindin interfaceQueryPartInternal- Parameters:
context- The context holding the next bind index and other information for variable binding- Throws:
DataAccessException- If something went wrong while binding a variable
-
declaresWindows
public boolean declaresWindows()
Subclasses may override this- Specified by:
declaresWindowsin interfaceQueryPartInternal
-
declaresCTE
public boolean declaresCTE()
Subclasses may override this- Specified by:
declaresCTEin interfaceQueryPartInternal
-
generatesCast
public boolean generatesCast()
Subclasses may override this- Specified by:
generatesCastin interfaceQueryPartInternal
-
equals
public boolean equals(Object that)
Description copied from interface:QueryPartCheck whether thisQueryPartcan be considered equal to anotherQueryPart.In general,
QueryPartequality is defined in terms ofQueryPart.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
QueryPartimplementations may choose to override this behaviour for improved performance, asQueryPart.toString()is an expensive operation, if called many times.
-
hashCode
public int hashCode()
Description copied from interface:QueryPartGenerate a hash code from thisQueryPart.In general,
QueryParthash codes are the same as the hash codes generated fromQueryPart.toString(). This guarantees consistent behaviour withQueryPart.equals(Object)Some
QueryPartimplementations may choose to override this behaviour for improved performance, asQueryPart.toString()is an expensive operation, if called many times.
-
toString
public String toString()
Description copied from interface:QueryPartRender a SQL string representation of thisQueryPart.For improved debugging, this renders a SQL string of this
QueryPartwith inlined bind variables. If thisQueryPartisAttachable, then the attachedConfigurationmay be used for rendering the SQL string, includingSQLDialectandSettings. Do note that mostQueryPartinstances are not attached to aConfiguration, and thus there is no guarantee that the SQL string will make sense in the context of a specific database.
-
create
@Deprecated protected final DSLContext create()
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.Internal convenience method
-
create
@Deprecated protected final DSLContext create(Configuration configuration)
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.Internal convenience method
-
create
@Deprecated protected final DSLContext create(Context<?> ctx)
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.Internal convenience method
-
translate
protected final DataAccessException translate(String sql, SQLException e)
Internal convenience method
-
-