Class SequenceImpl<T extends Number>
- All Implemented Interfaces:
Serializable, Named, Qualified, QueryPart, QueryPartInternal, Sequence<T>, Typed<T>
-
Method Summary
Modifier and TypeMethodDescriptionExperimental query object model accessor method, see alsoQOM.final Name$name()Experimental query object model accessor method, see alsoQOM.default QueryPartTraverse aQueryParthierarchy and recursively replace its elements by alternatives.final Schema$schema()Experimental query object model accessor method, see alsoQOM.default <R> Rfinal voidcurrval()An expression to get the current value of this sequence.booleanSubclasses may override thisbooleanSubclasses 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 thisThe object's underlyingBinding.getCache()Get the number of sequence values to cache for this sequence ornull, if no such value is specified.final CatalogGet the object's catalog.final StringThe comment on this object.final CommentThe comment on this object as aQueryPart.final ContextConverter<?, T> The object's underlyingConverter.final booleangetCycle()Returnstrueif this sequence cycles toSequence.getMinvalue()when it reachesSequence.getMaxvalue().The type of this object (might not be dialect-specific).getDataType(Configuration configuration) The dialect-specific type of this object.Get the increment for this sequence ornull, if no such value is specified.Get the maximum value for this sequence ornull, if no such value is specified.Get the minimum value for this sequence ornull, if no such value is specified.final StringgetName()The unqualified name of this object.The qualified name of this object.final SchemaGet the object's schema.Get the start value for this sequence ornull, if no such value is specified.getType()The Java type of the object.final NameThe unqualified name of this object.inthashCode()Generate a hash code from thisQueryPart.nextval()An expression to increment the sequence and get the next value.nextvals(int size) An expression to increment the sequence and get the next values.booleanrendersContent(Context<?> ctx) Subclasses may override thistoString()Render a SQL string representation of thisQueryPart.protected final DataAccessExceptiontranslate(String sql, SQLException e) Internal convenience methodMethods inherited from interface Named
$name, getComment, getCommentPart, getName, getQualifiedName, getUnqualifiedNameMethods inherited from interface Typed
$dataType, getBinding, getConverter, getDataType, getDataType, getType
-
Method Details
-
getCatalog
Description copied from interface:QualifiedGet the object's catalog.- Specified by:
getCatalogin interfaceQualified
-
getSchema
-
getStartWith
-
getIncrementBy
-
getMinvalue
-
getMaxvalue
-
getCycle
public final boolean getCycle()Description copied from interface:SequenceReturnstrueif this sequence cycles toSequence.getMinvalue()when it reachesSequence.getMaxvalue(). -
getCache
-
currval
-
nextval
-
nextvals
-
accept
Description copied from interface:QueryPartInternalThisQueryPartcanacceptaContextobject in order to render a SQL string or to bind its variables.- Specified by:
acceptin interfaceQueryPartInternal
-
$schema
-
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. -
$traverse
Description copied from interface:QueryPartTraverser thisQueryPartexpression tree using a composableTraverser, producing a result.This offers a generic way to traverse expression trees to translate the tree to arbitrary other data structures. The simplest traversal would just count all the tree elements:
int count = CUSTOMER.NAME.eq(1).$traverse(0, (i, p) -> i + 1);The same can be achieved by translating the JDK
CollectorAPI to theTraverserAPI usingTraversers.collecting(Collector).CUSTOMER.NAME.eq(1).$traverse(Traversers.collecting(Collectors.counting()));Unlike a
Collector, aTraverseris optimised for tree traversal, not stream traversal:- Is not designed for parallelism
- It can
Traverser.abort()traversal early when the result can be produced early (e.g. when runningTraversers.containing(QueryPart), and a result has been found). - It can decide whether to
Traverser.recurse()into aQueryPartsubtree, or whether that is not necessary or even undesirable, e.g. to prevent entering new subquery scopes. - Unlike a Collector, which can use its
Collector.accumulator()to accumulate each element only once, in tree traversal, it's desirable to be able to distinguish between accumulating an itemTraverser.before()orTraverser.after()recursing into it. This is useful e.g. to wrap each tree node in XML opening and closing tags.
This is a commercial jOOQ edition only feature.
-
$replace
-
getConverter
Description copied from interface:TypedThe object's underlyingConverter.By default, all typed objects reference an identity-converter
Converter<T, T>. If an implementation is generated, custom data types may be obtained by a customConverterplaced on the generated object.- Specified by:
getConverterin interfaceTyped<T>
-
getBinding
-
getType
-
getDataType
Description copied from interface:TypedThe type of this object (might not be dialect-specific).- Specified by:
getDataTypein interfaceTyped<T>
-
getDataType
Description copied from interface:TypedThe dialect-specific type of this object.- Specified by:
getDataTypein interfaceTyped<T>
-
$dataType
-
getName
-
getQualifiedName
Description copied from interface:NamedThe qualified name of this object.- Specified by:
getQualifiedNamein interfaceNamed
-
getUnqualifiedName
Description copied from interface:NamedThe unqualified name of this object.- Specified by:
getUnqualifiedNamein interfaceNamed
-
getComment
Description copied from interface:NamedThe comment on this object.This is the same as calling
Named.getCommentPart()and thenComment.getComment().- Specified by:
getCommentin interfaceNamed
-
getCommentPart
Description copied from interface:NamedThe comment on this object as aQueryPart.- Specified by:
getCommentPartin interfaceNamed
-
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. -
$name
-
rendersContent
Subclasses may override this- Specified by:
rendersContentin interfaceQueryPartInternal
-
declaresFields
public boolean declaresFields()Subclasses may override this- Specified by:
declaresFieldsin interfaceQueryPartInternal
-
declaresTables
public boolean declaresTables()Subclasses may override this- Specified by:
declaresTablesin 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
-
declaresVariables
Subclasses may override this- Specified by:
declaresVariablesin interfaceQueryPartInternal
-
generatesCast
public boolean generatesCast()Subclasses may override this- Specified by:
generatesCastin interfaceQueryPartInternal
-
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. -
translate
Internal convenience method
-