org.jooq.impl
Class CustomCondition

java.lang.Object
  extended by org.jooq.impl.CustomCondition
All Implemented Interfaces:
Serializable, Adapter, Attachable, AttachableInternal, Condition, QueryPart, QueryPartInternal

public abstract class CustomCondition
extends Object

A base class for custom 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:

Refer to those methods' Javadoc for further details about their expected behaviour.

Author:
Lukas Eder
See Also:
Serialized Form

Constructor Summary
protected CustomCondition()
           
 
Method Summary
 Condition and(Condition other)
          Combine this condition with another one using the Operator.AND operator.
 Condition and(String sql)
          Combine this condition with another one using the Operator.AND operator.
 Condition and(String sql, Object... bindings)
          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 andNotExists(Select<?> select)
          Combine this condition with a NOT EXIST clause using the Operator.AND operator.
 void attach(Configuration configuration)
          By default, nothing is done on an attachment event.
abstract  void bind(BindContext context)
          Subclasses must implement this method
Bind all parameters of this QueryPart to a PreparedStatement This method is for JOOQ INTERNAL USE only.
protected  Factory create()
          Internal convenience method
protected  Factory create(Configuration configuration)
          Internal convenience method
 boolean declaresFields()
          Subclasses may override this
 boolean declaresTables()
          Subclasses may override this
 boolean equals(Object that)
           
 List<Attachable> getAttachables()
          Subclasses may further override this method
Get the list of dependent Attachables This method is for JOOQ INTERNAL USE only.
protected  List<Attachable> getAttachables(Collection<? extends QueryPart> list)
          Internal convenience method
protected  List<Attachable> getAttachables(QueryPart... list)
          Internal convenience method
protected  List<Attachable> getAttachables(Store<?> store)
          Internal convenience method
 List<Object> getBindValues()
          This method is also declared as Query.getBindValues() Retrieve the bind values that will be bound by this QueryPart This method is exposed publicly in Query.getBindValues()
 Configuration getConfiguration()
          Get the underlying configuration
 SQLDialect getDialect()
          Deprecated. 
 Param<?> getParam(String name)
          This method is also declared as Query.getParam(String) Retrieve a named parameter that will be bound by this QueryPart This method is exposed publicly in Query.getParam(String)
 Map<String,Param<?>> getParams()
          This method is also declared as Query.getParams() Retrieve the named parameters that will be bound by this QueryPart This method is exposed publicly in Query.getParams()
 String getSQL()
          This method is also declared as Query.getSQL() Retrieve the SQL that will be rendered by this QueryPart This method is exposed publicly in Query.getSQL()
 String getSQL(boolean inline)
          This method is also declared as Query.getSQL(boolean) Retrieve the SQL that will be rendered by this QueryPart This method is exposed publicly in Query.getSQL(boolean)
 int hashCode()
           
<I> I
internalAPI(Class<I> internalType)
          Adapt to an internal type assuming its functionality This is for JOOQ INTERNAL USE only.
 Condition not()
          Invert this condition
 Condition or(Condition other)
          Combine this condition with another one using the Operator.OR operator.
 Condition or(String sql)
          Combine this condition with another one using the Operator.OR operator.
 Condition or(String sql, Object... bindings)
          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 orNotExists(Select<?> select)
          Combine this condition with a NOT EXIST clause using the Operator.OR operator.
abstract  void toSQL(RenderContext context)
          Subclasses must implement this method
Render this QueryPart to a SQL string contained in context.sql().
 String toString()
           
protected  DataAccessException translate(String task, String sql, SQLException e)
          Internal convenience method
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jooq.Adapter
internalAPI
 

Constructor Detail

CustomCondition

protected CustomCondition()
Method Detail

toSQL

public abstract void toSQL(RenderContext context)
Subclasses must implement this method
Render this 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.


bind

public abstract void bind(BindContext context)
                   throws DataAccessException
Subclasses must implement this method
Bind all parameters of this QueryPart to a PreparedStatement

This method is for JOOQ INTERNAL USE only. Do not reference directly

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

getAttachables

public List<Attachable> getAttachables()
Subclasses may further override this method
Get the list of dependent Attachables

This method is for JOOQ INTERNAL USE only. Do not reference directly


attach

public void attach(Configuration configuration)
By default, nothing is done on an attachment event. Subclasses may override this, however, in order to receive a connection when needed

Specified by:
attach in interface Attachable

declaresFields

public final boolean declaresFields()
Subclasses may override this

Specified by:
declaresFields in interface QueryPartInternal

declaresTables

public final boolean declaresTables()
Subclasses may override this

Specified by:
declaresTables in interface QueryPartInternal

and

public final Condition and(Condition other)
Description copied from interface: Condition
Combine this condition with another one using the Operator.AND operator.

Specified by:
and in interface Condition
Parameters:
other - The other condition
Returns:
The combined condition

or

public final Condition or(Condition other)
Description copied from interface: Condition
Combine this condition with another one using the Operator.OR operator.

Specified by:
or in interface Condition
Parameters:
other - The other condition
Returns:
The combined condition

and

public final Condition and(String sql)
Description copied from interface: Condition
Combine this condition with another one using the Operator.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!

Specified by:
and in interface Condition
Parameters:
sql - The other condition
Returns:
The combined condition
See Also:
Factory.condition(String)

and

public final Condition and(String sql,
                           Object... bindings)
Description copied from interface: Condition
Combine this condition with another one using the Operator.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!

Specified by:
and in interface Condition
Parameters:
sql - The other condition
bindings - The bindings
Returns:
The combined condition
See Also:
Factory.condition(String, Object...)

or

public final Condition or(String sql)
Description copied from interface: Condition
Combine this condition with another one using the Operator.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!

Specified by:
or in interface Condition
Parameters:
sql - The other condition
Returns:
The combined condition
See Also:
Factory.condition(String)

or

public final Condition or(String sql,
                          Object... bindings)
Description copied from interface: Condition
Combine this condition with another one using the Operator.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!

Specified by:
or in interface Condition
Parameters:
sql - The other condition
bindings - The bindings
Returns:
The combined condition
See Also:
Factory.condition(String, Object...)

andNot

public final Condition andNot(Condition other)
Description copied from interface: Condition
Combine this condition with a negated other one using the Operator.AND operator.

Specified by:
andNot in interface Condition
Parameters:
other - The other condition
Returns:
The combined condition

orNot

public final Condition orNot(Condition other)
Description copied from interface: Condition
Combine this condition with a negated other one using the Operator.OR operator.

Specified by:
orNot in interface Condition
Parameters:
other - The other condition
Returns:
The combined condition

andExists

public final Condition andExists(Select<?> select)
Description copied from interface: Condition
Combine this condition with an EXISTS clause using the Operator.AND operator.

Specified by:
andExists in interface Condition
Parameters:
select - The EXISTS's subquery
Returns:
The combined condition

andNotExists

public final Condition andNotExists(Select<?> select)
Description copied from interface: Condition
Combine this condition with a NOT EXIST clause using the Operator.AND operator.

Specified by:
andNotExists in interface Condition
Parameters:
select - The EXISTS's subquery
Returns:
The combined condition

orExists

public final Condition orExists(Select<?> select)
Description copied from interface: Condition
Combine this condition with an EXISTS clause using the Operator.OR operator.

Specified by:
orExists in interface Condition
Parameters:
select - The EXISTS's subquery
Returns:
The combined condition

orNotExists

public final Condition orNotExists(Select<?> select)
Description copied from interface: Condition
Combine this condition with a NOT EXIST clause using the Operator.OR operator.

Specified by:
orNotExists in interface Condition
Parameters:
select - The EXISTS's subquery
Returns:
The combined condition

not

public final Condition not()
Description copied from interface: Condition
Invert this condition

Specified by:
not in interface Condition
Returns:
This condition, inverted

internalAPI

public final <I> I internalAPI(Class<I> internalType)
Description copied from interface: Adapter
Adapt to an internal type assuming its functionality

This is for JOOQ INTERNAL USE only. If you need to access the internal API, these are the known possible interfaces:

Be aware though, that the internal API may change even between minor releases.

Specified by:
internalAPI in interface Adapter
Type Parameters:
I - The internal type's generic type parameter.
Parameters:
internalType - The internal type
Returns:
This object wrapped by or cast to an internal type

getConfiguration

public final Configuration getConfiguration()
Description copied from interface: AttachableInternal
Get the underlying configuration

Specified by:
getConfiguration in interface AttachableInternal

getDialect

@Deprecated
public final SQLDialect getDialect()
Deprecated. 

Description copied from interface: QueryPartInternal
Reproduce the SQL dialect this QueryPart was created with

This method is for JOOQ INTERNAL USE only. Do not reference directly

Specified by:
getDialect in interface QueryPartInternal
Returns:
The SQL dialect

getSQL

public final String getSQL()
This method is also declared as Query.getSQL()

Retrieve the SQL that will be rendered by this QueryPart

This method is exposed publicly in Query.getSQL()

Specified by:
getSQL in interface QueryPartInternal

getSQL

public final String getSQL(boolean inline)
This method is also declared as Query.getSQL(boolean)

Retrieve the SQL that will be rendered by this QueryPart

This method is exposed publicly in Query.getSQL(boolean)

Specified by:
getSQL in interface QueryPartInternal

getBindValues

public final List<Object> getBindValues()
This method is also declared as Query.getBindValues()

Retrieve the bind values that will be bound by this QueryPart

This method is exposed publicly in Query.getBindValues()

Specified by:
getBindValues in interface QueryPartInternal

getParams

public final Map<String,Param<?>> getParams()
This method is also declared as Query.getParams()

Retrieve the named parameters that will be bound by this QueryPart

This method is exposed publicly in Query.getParams()

Specified by:
getParams in interface QueryPartInternal

getParam

public final Param<?> getParam(String name)
This method is also declared as Query.getParam(String)

Retrieve a named parameter that will be bound by this QueryPart

This method is exposed publicly in Query.getParam(String)

Specified by:
getParam in interface QueryPartInternal

equals

public boolean equals(Object that)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object

getAttachables

protected final List<Attachable> getAttachables(Collection<? extends QueryPart> list)
Internal convenience method


getAttachables

protected final List<Attachable> getAttachables(QueryPart... list)
Internal convenience method


getAttachables

protected final List<Attachable> getAttachables(Store<?> store)
Internal convenience method


create

protected final Factory create()
Internal convenience method


create

protected final Factory create(Configuration configuration)
Internal convenience method


translate

protected final DataAccessException translate(String task,
                                              String sql,
                                              SQLException e)
Internal convenience method



Copyright © 2012. All Rights Reserved.