From a6c563c66e1fb71eb3d36cfb0f73ae3a11786142 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 30 Jul 2014 10:02:53 +0200 Subject: [PATCH] [#3480] Add XXXContext.dialect() and XXXContext.family() for convenience --- jOOQ/src/main/java/org/jooq/Context.java | 16 +++++++++++++++ jOOQ/src/main/java/org/jooq/DAO.java | 16 +++++++++++++++ jOOQ/src/main/java/org/jooq/DSLContext.java | 16 +++++++++++++++ .../main/java/org/jooq/ExecuteContext.java | 16 +++++++++++++++ .../src/main/java/org/jooq/RecordContext.java | 16 +++++++++++++++ .../java/org/jooq/TransactionContext.java | 16 +++++++++++++++ jOOQ/src/main/java/org/jooq/VisitContext.java | 16 +++++++++++++++ .../java/org/jooq/impl/AbstractContext.java | 20 +++++++++++++++++++ .../java/org/jooq/impl/DefaultDSLContext.java | 10 ++++++++++ .../org/jooq/impl/DefaultExecuteContext.java | 11 ++++++++++ .../org/jooq/impl/DefaultRecordContext.java | 11 ++++++++++ .../jooq/impl/DefaultTransactionContext.java | 11 ++++++++++ 12 files changed, 175 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/Context.java b/jOOQ/src/main/java/org/jooq/Context.java index 1ba10c3b63..bf4618a858 100644 --- a/jOOQ/src/main/java/org/jooq/Context.java +++ b/jOOQ/src/main/java/org/jooq/Context.java @@ -67,6 +67,22 @@ public interface Context> { */ Configuration configuration(); + /** + * The {@link SQLDialect} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect(). + */ + SQLDialect dialect(); + + /** + * The {@link SQLDialect#family()} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect().family(). + */ + SQLDialect family(); + /** * Get all custom data from this Context. *

diff --git a/jOOQ/src/main/java/org/jooq/DAO.java b/jOOQ/src/main/java/org/jooq/DAO.java index f45fc0b60a..eda35ec9bd 100644 --- a/jOOQ/src/main/java/org/jooq/DAO.java +++ b/jOOQ/src/main/java/org/jooq/DAO.java @@ -68,6 +68,22 @@ public interface DAO, P, T> { */ Configuration configuration(); + /** + * The {@link SQLDialect} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect(). + */ + SQLDialect dialect(); + + /** + * The {@link SQLDialect#family()} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect().family(). + */ + SQLDialect family(); + /** * Expose the {@link RecordMapper} that is used internally by this * DAO to map from records of type R to POJOs of diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java index fa99808768..271e3360ac 100644 --- a/jOOQ/src/main/java/org/jooq/DSLContext.java +++ b/jOOQ/src/main/java/org/jooq/DSLContext.java @@ -123,6 +123,22 @@ public interface DSLContext { */ Configuration configuration(); + /** + * The {@link SQLDialect} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect(). + */ + SQLDialect dialect(); + + /** + * The {@link SQLDialect#family()} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect().family(). + */ + SQLDialect family(); + /** * Map a schema to another one. *

diff --git a/jOOQ/src/main/java/org/jooq/ExecuteContext.java b/jOOQ/src/main/java/org/jooq/ExecuteContext.java index 0bdc58bdc3..8d67e422d5 100644 --- a/jOOQ/src/main/java/org/jooq/ExecuteContext.java +++ b/jOOQ/src/main/java/org/jooq/ExecuteContext.java @@ -115,6 +115,22 @@ public interface ExecuteContext { */ Configuration configuration(); + /** + * The {@link SQLDialect} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect(). + */ + SQLDialect dialect(); + + /** + * The {@link SQLDialect#family()} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect().family(). + */ + SQLDialect family(); + /** * The connection to be used in this execute context. *

diff --git a/jOOQ/src/main/java/org/jooq/RecordContext.java b/jOOQ/src/main/java/org/jooq/RecordContext.java index 12d5539247..2d411faddc 100644 --- a/jOOQ/src/main/java/org/jooq/RecordContext.java +++ b/jOOQ/src/main/java/org/jooq/RecordContext.java @@ -105,6 +105,22 @@ public interface RecordContext { */ Configuration configuration(); + /** + * The {@link SQLDialect} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect(). + */ + SQLDialect dialect(); + + /** + * The {@link SQLDialect#family()} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect().family(). + */ + SQLDialect family(); + /** * The type of database interaction that is being executed. *

diff --git a/jOOQ/src/main/java/org/jooq/TransactionContext.java b/jOOQ/src/main/java/org/jooq/TransactionContext.java index 818c4485d1..3d2a20bb8f 100644 --- a/jOOQ/src/main/java/org/jooq/TransactionContext.java +++ b/jOOQ/src/main/java/org/jooq/TransactionContext.java @@ -53,6 +53,22 @@ public interface TransactionContext { */ Configuration configuration(); + /** + * The {@link SQLDialect} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect(). + */ + SQLDialect dialect(); + + /** + * The {@link SQLDialect#family()} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect().family(). + */ + SQLDialect family(); + /** * A user-defined transaction object, possibly obtained from * {@link TransactionProvider#begin(TransactionContext)}. diff --git a/jOOQ/src/main/java/org/jooq/VisitContext.java b/jOOQ/src/main/java/org/jooq/VisitContext.java index 74873795d1..6ecce33e27 100644 --- a/jOOQ/src/main/java/org/jooq/VisitContext.java +++ b/jOOQ/src/main/java/org/jooq/VisitContext.java @@ -94,6 +94,22 @@ public interface VisitContext { */ Configuration configuration(); + /** + * The {@link SQLDialect} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect(). + */ + SQLDialect dialect(); + + /** + * The {@link SQLDialect#family()} wrapped by this context. + *

+ * This method is a convenient way of accessing + * configuration().dialect().family(). + */ + SQLDialect family(); + /** * The most recent clause that was encountered through * {@link Context#start(Clause)}. diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java index 148beafc39..99bcedc82d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java @@ -245,6 +245,16 @@ abstract class AbstractContext> implements Context { return AbstractContext.this.configuration(); } + @Override + public final SQLDialect dialect() { + return Utils.configuration(configuration()).dialect(); + } + + @Override + public final SQLDialect family() { + return dialect().family(); + } + @Override public final Clause clause() { return visitClauses.peekLast(); @@ -306,6 +316,16 @@ abstract class AbstractContext> implements Context { return configuration; } + @Override + public final SQLDialect dialect() { + return Utils.configuration(configuration()).dialect(); + } + + @Override + public final SQLDialect family() { + return dialect().family(); + } + @Override public final Map data() { return data; diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java index 90ba5c1103..52d3a68e8b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java @@ -280,6 +280,16 @@ public class DefaultDSLContext implements DSLContext, Serializable { return configuration; } + @Override + public SQLDialect dialect() { + return Utils.configuration(configuration()).dialect(); + } + + @Override + public SQLDialect family() { + return dialect().family(); + } + @Override public Schema map(Schema schema) { return Utils.getMappedSchema(configuration, schema); diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java index b641ce648a..095dac0535 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java @@ -65,6 +65,7 @@ import org.jooq.Record; import org.jooq.Result; import org.jooq.ResultQuery; import org.jooq.Routine; +import org.jooq.SQLDialect; import org.jooq.Truncate; import org.jooq.Update; import org.jooq.tools.jdbc.JDBCUtils; @@ -410,6 +411,16 @@ class DefaultExecuteContext implements ExecuteContext { return configuration; } + @Override + public final SQLDialect dialect() { + return Utils.configuration(configuration()).dialect(); + } + + @Override + public final SQLDialect family() { + return dialect().family(); + } + @Override public final void connectionProvider(ConnectionProvider provider) { this.connectionProvider = provider; diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordContext.java index ddb07de5f0..ed4164a70d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordContext.java @@ -48,6 +48,7 @@ import org.jooq.ExecuteType; import org.jooq.Record; import org.jooq.RecordContext; import org.jooq.RecordType; +import org.jooq.SQLDialect; /** * A default implementation for {@link RecordContext}. @@ -89,6 +90,16 @@ class DefaultRecordContext implements RecordContext { return configuration; } + @Override + public final SQLDialect dialect() { + return Utils.configuration(configuration()).dialect(); + } + + @Override + public final SQLDialect family() { + return dialect().family(); + } + @Override public final ExecuteType type() { return type; diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionContext.java index 326a099b2c..c4b6b77f16 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionContext.java @@ -41,6 +41,7 @@ package org.jooq.impl; import org.jooq.Configuration; +import org.jooq.SQLDialect; import org.jooq.Transaction; import org.jooq.TransactionContext; @@ -62,6 +63,16 @@ class DefaultTransactionContext implements TransactionContext { return configuration; } + @Override + public final SQLDialect dialect() { + return Utils.configuration(configuration()).dialect(); + } + + @Override + public final SQLDialect family() { + return dialect().family(); + } + @Override public final Transaction transaction() { return transaction;