Module org.jooq
Package org.jooq

Interface DataType<T>

    • Method Detail

      • getSQLDataType

        DataType<T> getSQLDataType()
        Get the standard SQL data type of this (dialect-specific) data type if available.
      • getDataType

        DataType<T> getDataType​(Configuration configuration)
        The dialect-specific data type representing this data type.
      • getSQLType

        int getSQLType()
        Get JDBC Types value.
      • getSQLType

        int getSQLType​(Configuration configuration)
        Get the dialect-specific JDBC Types value.
      • getBinding

        Binding<?,​T> getBinding()
        Get the data type binding associated with this data type.
      • getConverter

        Converter<?,​T> getConverter()
        Get the converter associated with this data type.
      • getType

        Class<T> getType()
        Retrieve the Java type associated with this data type.
      • getArrayType

        Class<T[]> getArrayType()
        Retrieve the Java type associated with ARRAYs of this data type.
      • getArrayDataType

        DataType<T[]> getArrayDataType()
        Retrieve the data type for an ARRAY of this data type.
      • asArrayDataType

        @Pro
        <A extends ArrayRecord<?>> DataType<A> asArrayDataType​(Class<A> arrayDataType)
        Retrieve the data type for an Oracle-style ARRAY of this data type.
      • asEnumDataType

        <E extends EnumTypeDataType<E> asEnumDataType​(Class<E> enumDataType)
        Retrieve the data type for a given enum data type.
      • asConvertedDataType

        <U> DataType<U> asConvertedDataType​(Converter<? super T,​U> converter)
        Retrieve the data type for a given converter.
      • asConvertedDataType

        <U> DataType<U> asConvertedDataType​(Binding<? super T,​U> binding)
        Retrieve the data type for a given binding.
      • getTypeName

        String getTypeName()
        Retrieve the dialect-specific type name associated with this data type.
      • getTypeName

        String getTypeName​(Configuration configuration)
        Retrieve the dialect-specific type name associated with this data type.
      • getCastTypeName

        String getCastTypeName()
        Retrieve the dialect-specific type name associated with this data type used for casting.

        This is useful for some dialects that have specialised type names for cast expressions. Other dialects require type-length binding when casting, (e.g. VARCHAR(32767))

      • getCastTypeName

        String getCastTypeName​(Configuration configuration)
        Retrieve the dialect-specific type name associated with this data type used for casting.

        This is useful for some dialects that have specialised type names for cast expressions. Other dialects require type-length binding when casting, (e.g. VARCHAR(32767))

      • convert

        T convert​(Object object)
        Convert an arbitrary object into <T>.

        See Convert.convert(Object, Class) for details about conversion rules.

        Parameters:
        object - The object to be converted
        Returns:
        The converted object
        Throws:
        DataTypeException - If conversion fails.
      • convert

        T[] convert​(Object... objects)
        Convert an arbitrary set of objects into <T>.

        See Convert.convert(Object, Class) for details about conversion rules.

        Parameters:
        objects - The objects to be converted
        Returns:
        The converted objects
        Throws:
        DataTypeException - If conversion fails.
      • nullability

        @Support
        DataType<T> nullability​(Nullability nullability)
        Return a new data type like this, with a new nullability.

        [#5709] A nullable column cannot have an identity().

        Parameters:
        nullability - The new nullability
        Returns:
        The new data type
      • nullability

        Nullability nullability()
        Get the nullability of this data type.
        Returns:
        The nullability
      • nullable

        boolean nullable()
        Get the nullability of this data type.

        This returns true by default, i.e. if nullability() is Nullability.DEFAULT.

        Returns:
        The nullability
      • collation

        Collation collation()
        Get the collation of this data type, or null if there is no collation, or if the default collation applies.
      • characterSet

        CharacterSet characterSet()
        Get the character set of this data type, or null if there is no character set, or if the default character set applies.
      • identity

        @Support
        DataType<T> identity​(boolean identity)
        Return a new data type like this, with a new identity flag.

        [#5709] The IDENTITY flag imposes a NOT NULL constraint, and removes all DEFAULT values.

        Parameters:
        identity - The new identity flag
        Returns:
        The new data type
      • identity

        boolean identity()
        Get the identity flag of this data type.
        Returns:
        The identity flag.
      • defaultValue

        DataType<T> defaultValue​(Field<T> defaultValue)
        Specify an expression to be applied as the DEFAULT value for this data type.

        A default value of a data type applies to DDL statements, such as

        • CREATE TABLE
        • ALTER TABLE

        The distinct types of possible DEFAULT expressions is defined by the underlying database. Please refer to your database manual to learn what expressions are possible.

        This is an alias for default_(Field).

      • defaultValue

        Field<T> defaultValue()
        The expression to be applied as the DEFAULT value for this data type.

        This is an alias for default_().

        Returns:
        The default value if present, or null if no default value is specified for this data type.
        See Also:
        defaultValue(Field)
      • default_

        @Support
        DataType<T> default_​(Field<T> defaultValue)
        Specify an expression to be applied as the DEFAULT value for this data type.

        A default value of a data type applies to DDL statements, such as

        • CREATE TABLE
        • ALTER TABLE

        The distinct types of possible DEFAULT expressions is defined by the underlying database. Please refer to your database manual to learn what expressions are possible.

      • default_

        Field<T> default_()
        The expression to be applied as the DEFAULT value for this data type.
        Returns:
        The default value if present, or null if no default value is specified for this data type.
        See Also:
        defaultValue(Field)
      • defaulted

        @Deprecated
        DataType<T> defaulted​(boolean defaulted)
        Deprecated.
        - [#3852] - 3.8.0 - Use defaultValue(Field) instead.
        Return a new data type like this, with a new defaultability.
        Parameters:
        defaulted - The new defaultability
        Returns:
        The new data type
      • defaulted

        boolean defaulted()
        Get the defaultability of this data type.
        Returns:
        The defaultability
      • precision

        @Support
        DataType<T> precision​(int precision)
        Return a new data type like this, with a new precision value.

        This will have no effect if hasPrecision() is false

        This is the same as calling precision(int, int) with scale == 0

        Parameters:
        precision - The new precision value
        Returns:
        The new data type
      • precision

        @Support
        DataType<T> precision​(int precision,
                              int scale)
        Return a new data type like this, with a new precision and scale value.

        This will have no effect if hasPrecision() is false , or if scale > 0 and hasScale() is false

        Parameters:
        precision - The new precision value
        scale - The new scale value
        Returns:
        The new data type
      • precision

        int precision()
        Get the precision of this data type.
        Returns:
        The precision of this data type
      • hasPrecision

        boolean hasPrecision()
        Whether this data type has a precision.
        Returns:
        Whether this data type has a precision
      • scale

        @Support
        DataType<T> scale​(int scale)
        Return a new data type like this, with a new scale value.

        This will have no effect if hasScale() is false

        Parameters:
        scale - The new scale value
        Returns:
        The new data type
      • scale

        int scale()
        Get the scale of this data type.
        Returns:
        The scale of this data type
      • hasScale

        boolean hasScale()
        Whether this data type has a scale.
        Returns:
        Whether this data type has a scale
      • length

        @Support
        DataType<T> length​(int length)
        Return a new data type like this, with a new length value.

        This will have no effect if hasLength() is false

        Parameters:
        length - The new length value
        Returns:
        The new data type
      • length

        int length()
        Get the length of this data type.
        Returns:
        The length of this data type
      • hasLength

        boolean hasLength()
        Whether this data type has a length.
        Returns:
        Whether this data type has a length
      • isArray

        boolean isArray()
        Whether this data type is an array type.
      • isUDT

        boolean isUDT()
        Whether this data type is a UDT type.
      • isEnum

        boolean isEnum()
        Whether this data type is an enum type.