public class SchemaImpl extends java.lang.Object implements Schema
This type is for JOOQ INTERNAL USE only. Do not reference directly
Constructor and Description |
---|
SchemaImpl(Name name) |
SchemaImpl(Name name,
Catalog catalog) |
SchemaImpl(java.lang.String name) |
SchemaImpl(java.lang.String name,
Catalog catalog) |
Modifier and Type | Method and Description |
---|---|
void |
accept(Context<?> ctx)
|
void |
bind(BindContext context)
Deprecated.
- 3.4.0 - [#2694] - Use
QueryPartInternal.accept(Context) instead. |
Clause[] |
clauses(Context<?> ctx)
The
Clause s 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 . |
boolean |
generatesCast()
Subclasses may override this
|
Catalog |
getCatalog()
The catalog of this schema.
|
java.lang.String |
getName()
The name of this schema.
|
Name |
getQualifiedName()
The qualified name of this schema.
|
Sequence<?> |
getSequence(java.lang.String sequenceName)
Get a sequence by its name (case-sensitive) in this schema, or
null if no such sequence exists. |
java.util.List<Sequence<?>> |
getSequences()
List all sequences contained in this schema.
|
Table<?> |
getTable(java.lang.String tableName)
Get a table by its name (case-sensitive) in this schema, or
null if no such table exists. |
java.util.List<Table<?>> |
getTables()
List all tables contained in this schema.
|
UDT<?> |
getUDT(java.lang.String udtName)
Get a UDT by its name (case-sensitive) in this schema, or
null if no such UDT exists. |
java.util.List<UDT<?>> |
getUDTs()
List all UDTs contained in this schema.
|
Name |
getUnqualifiedName()
The unqualified name of this schema.
|
int |
hashCode()
Generate a hash code from this
QueryPart . |
java.util.stream.Stream<Sequence<?>> |
sequenceStream()
Stream all sequences contained in this schema.
|
java.util.stream.Stream<Table<?>> |
tableStream()
Stream all tables contained in this schema.
|
void |
toSQL(RenderContext context)
Deprecated.
- 3.4.0 - [#2694] - Use
QueryPartInternal.accept(Context) instead. |
java.lang.String |
toString()
Render a SQL string representation of this
QueryPart . |
protected DataAccessException |
translate(java.lang.String sql,
java.sql.SQLException e)
Internal convenience method
|
java.util.stream.Stream<UDT<?>> |
udtStream()
Stream all UDTs contained in this schema.
|
public SchemaImpl(java.lang.String name)
public SchemaImpl(java.lang.String name, Catalog catalog)
public SchemaImpl(Name name)
public Catalog getCatalog()
Schema
getCatalog
in interface Schema
public final java.lang.String getName()
Schema
public final Name getQualifiedName()
Schema
getQualifiedName
in interface Schema
public final Name getUnqualifiedName()
Schema
getUnqualifiedName
in interface Schema
public final void accept(Context<?> ctx)
QueryPartInternal
QueryPart
can accept
a Context
object
in order to render a SQL string or to bind its variables.accept
in interface QueryPartInternal
public final Clause[] clauses(Context<?> ctx)
QueryPartInternal
Clause
s that are represented by this query part.
QueryPart
s can specify several Clause
s 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 QueryPartInternal
Clause
s represented by this query part or
null
or an empty array if this query part does not
represent a clause.public final Table<?> getTable(java.lang.String tableName)
Schema
null
if no such table exists.public final UDT<?> getUDT(java.lang.String udtName)
Schema
null
if no such UDT exists.public final Sequence<?> getSequence(java.lang.String sequenceName)
Schema
null
if no such sequence exists.getSequence
in interface Schema
public java.util.List<Table<?>> getTables()
Subclasses should override this method
public java.util.List<UDT<?>> getUDTs()
Subclasses should override this method
public java.util.List<Sequence<?>> getSequences()
Subclasses should override this method
getSequences
in interface Schema
public final java.util.stream.Stream<Table<?>> tableStream()
Schema
tableStream
in interface Schema
public final java.util.stream.Stream<UDT<?>> udtStream()
Schema
public final java.util.stream.Stream<Sequence<?>> sequenceStream()
Schema
sequenceStream
in interface Schema
public int hashCode()
QueryPart
QueryPart
.
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 boolean equals(java.lang.Object that)
QueryPart
QueryPart
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.
@Deprecated public final void toSQL(RenderContext context)
QueryPartInternal.accept(Context)
instead.QueryPartInternal
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 QueryPartInternal
@Deprecated public final void bind(BindContext context) throws DataAccessException
QueryPartInternal.accept(Context)
instead.QueryPartInternal
QueryPart
to a PreparedStatement
This method is for JOOQ INTERNAL USE only. Do not reference directly
bind
in interface QueryPartInternal
context
- The context holding the next bind index and other information
for variable bindingDataAccessException
- If something went wrong while binding a
variablepublic boolean declaresFields()
declaresFields
in interface QueryPartInternal
public boolean declaresTables()
declaresTables
in interface QueryPartInternal
public boolean declaresWindows()
declaresWindows
in interface QueryPartInternal
public boolean declaresCTE()
declaresCTE
in interface QueryPartInternal
public boolean generatesCast()
generatesCast
in interface QueryPartInternal
public java.lang.String toString()
QueryPart
QueryPart
.
For improved debugging, this renders a SQL string of this
QueryPart
with inlined bind variables. If this
QueryPart
is Attachable
, then the attached
Configuration
may be used for rendering the SQL string, including
SQLDialect
and Settings
. Do note that most
QueryPart
instances are not attached to a
Configuration
, and thus there is no guarantee that the SQL string
will make sense in the context of a specific database.
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 © 2018. All Rights Reserved.