Package org.jooq.impl

Class SequenceImpl<T extends java.lang.Number>

  • All Implemented Interfaces:
    java.io.Serializable, Named, QueryPart, QueryPartInternal, Sequence<T>

    @Internal
    public class SequenceImpl<T extends java.lang.Number>
    extends java.lang.Object
    implements Sequence<T>
    A common base class for sequences

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

    Author:
    Lukas Eder
    See Also:
    Serialized Form
    • Constructor Detail

      • SequenceImpl

        public SequenceImpl​(java.lang.String name,
                            Schema schema,
                            DataType<T> type)
    • Method Detail

      • getCatalog

        public final Catalog getCatalog()
        Description copied from interface: Sequence
        Get the sequence catalog.
        Specified by:
        getCatalog in interface Sequence<T extends java.lang.Number>
      • getSchema

        public final Schema getSchema()
        Description copied from interface: Sequence
        Get the sequence schema
        Specified by:
        getSchema in interface Sequence<T extends java.lang.Number>
      • getDataType

        public final DataType<T> getDataType()
        Description copied from interface: Sequence
        Get the sequence data type
        Specified by:
        getDataType in interface Sequence<T extends java.lang.Number>
      • currval

        public final Field<T> currval()
        Description copied from interface: Sequence
        Get the current value of this sequence
        Specified by:
        currval in interface Sequence<T extends java.lang.Number>
      • nextval

        public final Field<T> nextval()
        Description copied from interface: Sequence
        Increment the sequence and get the next value
        Specified by:
        nextval in interface Sequence<T extends java.lang.Number>
      • clauses

        public final Clause[] clauses​(Context<?> ctx)
        Description copied from interface: QueryPartInternal
        The Clauses that are represented by this query part.

        QueryParts can specify several Clauses 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

        Specified by:
        clauses in interface QueryPartInternal
        Returns:
        The Clauses represented by this query part or null or an empty array if this query part does not represent a clause.
      • getName

        public final java.lang.String getName()
        Description copied from interface: Named
        The unqualified name of this object.
        Specified by:
        getName in interface Named
      • getQualifiedName

        public final Name getQualifiedName()
        Description copied from interface: Named
        The qualified name of this object.
        Specified by:
        getQualifiedName in interface Named
      • getUnqualifiedName

        public final Name getUnqualifiedName()
        Description copied from interface: Named
        The unqualified name of this object.
        Specified by:
        getUnqualifiedName in interface Named
      • getComment

        public final java.lang.String getComment()
        Description copied from interface: Named
        The comment on this object.
        Specified by:
        getComment in interface Named
      • hashCode

        public int hashCode()
        Description copied from interface: QueryPart
        Generate a hash code from this 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.

        Specified by:
        hashCode in interface QueryPart
        Returns:
        The QueryPart hash code
      • equals

        public boolean equals​(java.lang.Object that)
        Description copied from interface: QueryPart
        Check whether this 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.

        Specified by:
        equals in interface QueryPart
        Parameters:
        that - The other QueryPart
        Returns:
        Whether the two query parts are equal
      • toSQL

        @Deprecated
        public final void toSQL​(RenderContext context)
        Deprecated.
        - 3.4.0 - [#2694] - Use QueryPartInternal.accept(Context) instead.
        Description copied from interface: QueryPartInternal
        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.
        Specified by:
        toSQL in interface QueryPartInternal
      • toString

        public java.lang.String toString()
        Description copied from interface: QueryPart
        Render a SQL string representation of this 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.

        Specified by:
        toString in interface QueryPart
        Overrides:
        toString in class java.lang.Object
        Returns:
        A SQL string representation of this QueryPart
      • translate

        protected final DataAccessException translate​(java.lang.String sql,
                                                      java.sql.SQLException e)
        Internal convenience method