- All Implemented Interfaces:
Serializable,QueryPart,QueryPartInternal,Statement
Statement implementations in client code.
Client code may provide proper Statement implementations extending
this useful base class. All necessary parts of the Statement
interface 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 -
Method Summary
Modifier and TypeMethodDescriptionabstract voidSubclasses must implement this method.Clause[]TheClauses that are represented by this query part.protected DSLContextcreate()Deprecated.protected DSLContextcreate(Configuration configuration)Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.protected DSLContextDeprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.booleanSubclasses may override thisbooleanSubclasses may override thisbooleanSubclasses may override thisbooleanSubclasses may override thisbooleanSubclasses may override thisbooleanCheck whether thisQueryPartcan be considered equal to anotherQueryPart.booleanSubclasses may override thisinthashCode()Generate a hash code from thisQueryPart.static CustomStatementCreate aCustomStatementfrom a lambda expression.booleanrendersContent(Context<?> ctx)Subclasses may override thisdefault booleanWhether a separator is rendered at the end of the content.toString()Render a SQL string representation of thisQueryPart.protected DataAccessExceptiontranslate(String sql, SQLException e)Internal convenience method
-
Constructor Details
-
CustomStatement
protected CustomStatement()
-
-
Method Details
-
of
Create aCustomStatementfrom a lambda expression. -
accept
-
clauses
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
-
rendersSeparator
default boolean rendersSeparator()Whether a separator is rendered at the end of the content. -
rendersContent
Subclasses may override this- Specified by:
rendersContentin interfaceQueryPartInternal
-
declaresWindows
public boolean declaresWindows()Subclasses may override this- Specified by:
declaresWindowsin interfaceQueryPartInternal
-
declaresCTE
public boolean declaresCTE()Subclasses may override this- Specified by:
declaresCTEin interfaceQueryPartInternal
-
declaresParameters
Subclasses may override this- Specified by:
declaresParametersin interfaceQueryPartInternal
-
generatesCast
public boolean generatesCast()Subclasses may override this- Specified by:
generatesCastin interfaceQueryPartInternal
-
equals
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
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.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.Internal convenience method -
create
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.Internal convenience method -
create
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.Internal convenience method -
translate
Internal convenience method
-
Attachable.configuration()andConfiguration.dsl()instead.