diff --git a/jOOQ/src/main/java/org/jooq/Field.java b/jOOQ/src/main/java/org/jooq/Field.java index 98c8d1e9c6..6c4af1b129 100644 --- a/jOOQ/src/main/java/org/jooq/Field.java +++ b/jOOQ/src/main/java/org/jooq/Field.java @@ -92,6 +92,18 @@ public interface Field extends NamedTypeProviderQueryPart, AliasProvider getType(); + /** + * The type of this field (might not be dialect-specific) + */ + @Override + DataType getDataType(); + + /** + * The dialect-specific type of this field + */ + @Override + DataType getDataType(Configuration configuration); + /** * Create an alias for this field * diff --git a/jOOQ/src/main/java/org/jooq/NamedTypeProviderQueryPart.java b/jOOQ/src/main/java/org/jooq/NamedTypeProviderQueryPart.java index d221de3dd9..4b8e1aa571 100644 --- a/jOOQ/src/main/java/org/jooq/NamedTypeProviderQueryPart.java +++ b/jOOQ/src/main/java/org/jooq/NamedTypeProviderQueryPart.java @@ -41,7 +41,11 @@ package org.jooq; * * @param The type provided by this type provider * @author Lukas Eder + * @deprecated - 2.6.0 [#1870] - This marker interface does not have enough + * momentum to be exposed in the public API. It will be removed in + * the future. */ +@Deprecated public interface NamedTypeProviderQueryPart extends NamedQueryPart { /** diff --git a/jOOQ/src/main/java/org/jooq/Parameter.java b/jOOQ/src/main/java/org/jooq/Parameter.java index 214d57733f..d85caad24d 100644 --- a/jOOQ/src/main/java/org/jooq/Parameter.java +++ b/jOOQ/src/main/java/org/jooq/Parameter.java @@ -44,8 +44,27 @@ import static org.jooq.SQLDialect.ORACLE; * @param The parameter type * @author Lukas Eder */ +@SuppressWarnings("deprecation") public interface Parameter extends NamedTypeProviderQueryPart { + /** + * The Java type of the parameter. + */ + @Override + Class getType(); + + /** + * The type of this parameter (might not be dialect-specific) + */ + @Override + DataType getDataType(); + + /** + * The dialect-specific type of this parameter + */ + @Override + DataType getDataType(Configuration configuration); + /** * Whether this parameter has a default value *

diff --git a/jOOQ/src/main/java/org/jooq/SortField.java b/jOOQ/src/main/java/org/jooq/SortField.java index 99e6be20b9..40f0796e0d 100644 --- a/jOOQ/src/main/java/org/jooq/SortField.java +++ b/jOOQ/src/main/java/org/jooq/SortField.java @@ -43,6 +43,7 @@ package org.jooq; * @see Field#asc() * @see Field#desc() */ +@SuppressWarnings("deprecation") public interface SortField extends NamedTypeProviderQueryPart { /** diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractNamedTypeProviderQueryPart.java b/jOOQ/src/main/java/org/jooq/impl/AbstractNamedTypeProviderQueryPart.java index 5d781c990a..24fffd2408 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractNamedTypeProviderQueryPart.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractNamedTypeProviderQueryPart.java @@ -43,6 +43,7 @@ import org.jooq.NamedTypeProviderQueryPart; /** * @author Lukas Eder */ +@SuppressWarnings("deprecation") abstract class AbstractNamedTypeProviderQueryPart extends AbstractNamedQueryPart implements NamedTypeProviderQueryPart {