From 1b52a52be00adc29fd553ef44ae39793bf78bfc0 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 18 Aug 2016 16:19:21 +0200 Subject: [PATCH] [#5501] Add Record.with(Field, T) for fluent setting of values on a Record --- jOOQ/src/main/java/org/jooq/Record.java | 17 +++++++++++++++++ jOOQ/src/main/java/org/jooq/Record1.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record10.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record11.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record12.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record13.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record14.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record15.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record16.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record17.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record18.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record19.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record2.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record20.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record21.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record22.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record3.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record4.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record5.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record6.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record7.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record8.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Record9.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/Result.java | 1 + jOOQ/src/main/java/org/jooq/TableRecord.java | 12 ++++++++++++ jOOQ/src/main/java/org/jooq/UDTRecord.java | 12 ++++++++++++ .../main/java/org/jooq/impl/AbstractRecord.java | 13 +++++++++++++ .../src/main/java/org/jooq/impl/ResultImpl.java | 1 + .../java/org/jooq/impl/TableRecordImpl.java | 13 +++++++++++++ .../main/java/org/jooq/impl/UDTRecordImpl.java | 13 +++++++++++++ 30 files changed, 368 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/Record.java b/jOOQ/src/main/java/org/jooq/Record.java index 5516ba594c..1e7caf14f6 100644 --- a/jOOQ/src/main/java/org/jooq/Record.java +++ b/jOOQ/src/main/java/org/jooq/Record.java @@ -399,6 +399,22 @@ public interface Record extends Attachable, Comparable { */ void set(Field field, U value, Converter converter); + /** + * Set a value into this record. + *

+ * Like {@link #set(Field, Object)} but returning this for + * fluent setting of multiple values. + */ + Record with(Field field, T value); + + /** + * Set a value into this record. + *

+ * Like {@link #set(Field, Object, Converter)} but returning + * this for fluent setting of multiple values. + */ + Record with(Field field, U value, Converter converter); + /** * Get the number of fields of this record. */ @@ -661,6 +677,7 @@ public interface Record extends Attachable, Comparable { Record into(Field... fields); // [jooq-tools] START [into-fields] + /** * Copy this record into a new record holding only a subset of the previous * fields. diff --git a/jOOQ/src/main/java/org/jooq/Record1.java b/jOOQ/src/main/java/org/jooq/Record1.java index cfc56e53d7..d1239ac399 100644 --- a/jOOQ/src/main/java/org/jooq/Record1.java +++ b/jOOQ/src/main/java/org/jooq/Record1.java @@ -95,4 +95,17 @@ public interface Record1 extends Record { */ Record1 values(T1 t1); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record1 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record1 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record10.java b/jOOQ/src/main/java/org/jooq/Record10.java index d1822415ed..fa919d6e19 100644 --- a/jOOQ/src/main/java/org/jooq/Record10.java +++ b/jOOQ/src/main/java/org/jooq/Record10.java @@ -230,4 +230,17 @@ public interface Record10 extends Recor */ Record10 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record10 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record10 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record11.java b/jOOQ/src/main/java/org/jooq/Record11.java index b708577403..fabf3b3795 100644 --- a/jOOQ/src/main/java/org/jooq/Record11.java +++ b/jOOQ/src/main/java/org/jooq/Record11.java @@ -245,4 +245,17 @@ public interface Record11 extends */ Record11 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record11 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record11 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record12.java b/jOOQ/src/main/java/org/jooq/Record12.java index 398004a37d..65c88f7e1e 100644 --- a/jOOQ/src/main/java/org/jooq/Record12.java +++ b/jOOQ/src/main/java/org/jooq/Record12.java @@ -260,4 +260,17 @@ public interface Record12 ext */ Record12 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record12 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record12 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record13.java b/jOOQ/src/main/java/org/jooq/Record13.java index 935d36e8ad..64f195d33e 100644 --- a/jOOQ/src/main/java/org/jooq/Record13.java +++ b/jOOQ/src/main/java/org/jooq/Record13.java @@ -275,4 +275,17 @@ public interface Record13 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record13 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record13 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record14.java b/jOOQ/src/main/java/org/jooq/Record14.java index e53b344481..a10d365357 100644 --- a/jOOQ/src/main/java/org/jooq/Record14.java +++ b/jOOQ/src/main/java/org/jooq/Record14.java @@ -290,4 +290,17 @@ public interface Record14 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record14 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record14 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record15.java b/jOOQ/src/main/java/org/jooq/Record15.java index 430ec253ab..2c7dee3af5 100644 --- a/jOOQ/src/main/java/org/jooq/Record15.java +++ b/jOOQ/src/main/java/org/jooq/Record15.java @@ -305,4 +305,17 @@ public interface Record15 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record15 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record15 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record16.java b/jOOQ/src/main/java/org/jooq/Record16.java index adef27f163..7a241bd41f 100644 --- a/jOOQ/src/main/java/org/jooq/Record16.java +++ b/jOOQ/src/main/java/org/jooq/Record16.java @@ -320,4 +320,17 @@ public interface Record16 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record16 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record16 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record17.java b/jOOQ/src/main/java/org/jooq/Record17.java index 54991f0b79..c6d25c1108 100644 --- a/jOOQ/src/main/java/org/jooq/Record17.java +++ b/jOOQ/src/main/java/org/jooq/Record17.java @@ -335,4 +335,17 @@ public interface Record17 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record17 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record17 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record18.java b/jOOQ/src/main/java/org/jooq/Record18.java index 6e2904c35e..8b7d1fca64 100644 --- a/jOOQ/src/main/java/org/jooq/Record18.java +++ b/jOOQ/src/main/java/org/jooq/Record18.java @@ -350,4 +350,17 @@ public interface Record18 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record18 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record18 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record19.java b/jOOQ/src/main/java/org/jooq/Record19.java index 8ffdc86a1a..97821b022f 100644 --- a/jOOQ/src/main/java/org/jooq/Record19.java +++ b/jOOQ/src/main/java/org/jooq/Record19.java @@ -365,4 +365,17 @@ public interface Record19 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record19 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record19 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record2.java b/jOOQ/src/main/java/org/jooq/Record2.java index fc510af9ba..e817fc7631 100644 --- a/jOOQ/src/main/java/org/jooq/Record2.java +++ b/jOOQ/src/main/java/org/jooq/Record2.java @@ -110,4 +110,17 @@ public interface Record2 extends Record { */ Record2 values(T1 t1, T2 t2); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record2 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record2 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record20.java b/jOOQ/src/main/java/org/jooq/Record20.java index 0cef1c9552..d448ce311b 100644 --- a/jOOQ/src/main/java/org/jooq/Record20.java +++ b/jOOQ/src/main/java/org/jooq/Record20.java @@ -380,4 +380,17 @@ public interface Record20 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record20 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record20 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record21.java b/jOOQ/src/main/java/org/jooq/Record21.java index 334c472417..497ffadff1 100644 --- a/jOOQ/src/main/java/org/jooq/Record21.java +++ b/jOOQ/src/main/java/org/jooq/Record21.java @@ -395,4 +395,17 @@ public interface Record21 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record21 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record21 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record22.java b/jOOQ/src/main/java/org/jooq/Record22.java index 7dd94155bf..a70bba29b6 100644 --- a/jOOQ/src/main/java/org/jooq/Record22.java +++ b/jOOQ/src/main/java/org/jooq/Record22.java @@ -410,4 +410,17 @@ public interface Record22 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21, T22 t22); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record22 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record22 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record3.java b/jOOQ/src/main/java/org/jooq/Record3.java index aa7db1a4f9..946aeb9111 100644 --- a/jOOQ/src/main/java/org/jooq/Record3.java +++ b/jOOQ/src/main/java/org/jooq/Record3.java @@ -125,4 +125,17 @@ public interface Record3 extends Record { */ Record3 values(T1 t1, T2 t2, T3 t3); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record3 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record3 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record4.java b/jOOQ/src/main/java/org/jooq/Record4.java index 79f1f7915b..d4d4ca4831 100644 --- a/jOOQ/src/main/java/org/jooq/Record4.java +++ b/jOOQ/src/main/java/org/jooq/Record4.java @@ -140,4 +140,17 @@ public interface Record4 extends Record { */ Record4 values(T1 t1, T2 t2, T3 t3, T4 t4); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record4 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record4 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record5.java b/jOOQ/src/main/java/org/jooq/Record5.java index be9cb7e745..fdc3e780fb 100644 --- a/jOOQ/src/main/java/org/jooq/Record5.java +++ b/jOOQ/src/main/java/org/jooq/Record5.java @@ -155,4 +155,17 @@ public interface Record5 extends Record { */ Record5 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record5 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record5 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record6.java b/jOOQ/src/main/java/org/jooq/Record6.java index 61f787b976..b1a2e84e11 100644 --- a/jOOQ/src/main/java/org/jooq/Record6.java +++ b/jOOQ/src/main/java/org/jooq/Record6.java @@ -170,4 +170,17 @@ public interface Record6 extends Record { */ Record6 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record6 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record6 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record7.java b/jOOQ/src/main/java/org/jooq/Record7.java index 9ee8d7eee7..a352c83a80 100644 --- a/jOOQ/src/main/java/org/jooq/Record7.java +++ b/jOOQ/src/main/java/org/jooq/Record7.java @@ -185,4 +185,17 @@ public interface Record7 extends Record { */ Record7 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record7 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record7 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record8.java b/jOOQ/src/main/java/org/jooq/Record8.java index cb260ba8ce..363dcc7f0e 100644 --- a/jOOQ/src/main/java/org/jooq/Record8.java +++ b/jOOQ/src/main/java/org/jooq/Record8.java @@ -200,4 +200,17 @@ public interface Record8 extends Record { */ Record8 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record8 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record8 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Record9.java b/jOOQ/src/main/java/org/jooq/Record9.java index 7b63e53136..df650ff9a6 100644 --- a/jOOQ/src/main/java/org/jooq/Record9.java +++ b/jOOQ/src/main/java/org/jooq/Record9.java @@ -215,4 +215,17 @@ public interface Record9 extends Record { */ Record9 values(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9); +// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695) +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record9 with(Field field, T value); +// +// /** +// * {@inheritDoc} +// */ +// @Override +// Record9 with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/Result.java b/jOOQ/src/main/java/org/jooq/Result.java index 56fd4aae7d..82f52c6b19 100644 --- a/jOOQ/src/main/java/org/jooq/Result.java +++ b/jOOQ/src/main/java/org/jooq/Result.java @@ -2681,6 +2681,7 @@ public interface Result extends List, Attachable { Result into(Field... fields); // [jooq-tools] START [into-fields] + /** * Copy all records from this result into a new result with new records * holding only a subset of the previous fields. diff --git a/jOOQ/src/main/java/org/jooq/TableRecord.java b/jOOQ/src/main/java/org/jooq/TableRecord.java index 621f0096c5..b2b3aa7e46 100644 --- a/jOOQ/src/main/java/org/jooq/TableRecord.java +++ b/jOOQ/src/main/java/org/jooq/TableRecord.java @@ -113,4 +113,16 @@ public interface TableRecord> extends Record { * @see ForeignKey#fetchParents(Record...) */ > O fetchParent(ForeignKey key) throws DataAccessException; + + /** + * {@inheritDoc} + */ + @Override + R with(Field field, T value); + + /** + * {@inheritDoc} + */ + @Override + R with(Field field, U value, Converter converter); } diff --git a/jOOQ/src/main/java/org/jooq/UDTRecord.java b/jOOQ/src/main/java/org/jooq/UDTRecord.java index d622e5b4f1..906eb6a5cf 100644 --- a/jOOQ/src/main/java/org/jooq/UDTRecord.java +++ b/jOOQ/src/main/java/org/jooq/UDTRecord.java @@ -55,4 +55,16 @@ public interface UDTRecord> extends Record, SQLData { */ UDT getUDT(); + /** + * {@inheritDoc} + */ + @Override + R with(Field field, T value); + + /** + * {@inheritDoc} + */ + @Override + R with(Field field, U value, Converter converter); + } diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java b/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java index b57730a012..03bfa5a0de 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java @@ -348,6 +348,18 @@ abstract class AbstractRecord extends AbstractStore implements Record { set(field, converter.to(value)); } + @Override + public /* non-final */ Record with(Field field, T value) { + set(field, value); + return this; + } + + @Override + public Record with(Field field, U value, Converter converter) { + set(field, value, converter); + return this; + } + final void setValues(Field[] fields, AbstractRecord record) { fetched = record.fetched; @@ -549,6 +561,7 @@ abstract class AbstractRecord extends AbstractStore implements Record { } // [jooq-tools] START [into-fields] + @Override public final Record1 into(Field field1) { return (Record1) into(new Field[] { field1 }); diff --git a/jOOQ/src/main/java/org/jooq/impl/ResultImpl.java b/jOOQ/src/main/java/org/jooq/impl/ResultImpl.java index ad458e999c..c690881103 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ResultImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ResultImpl.java @@ -2046,6 +2046,7 @@ final class ResultImpl implements Result, AttachableInterna } // [jooq-tools] START [into-fields] + @Override public final Result> into(Field field1) { return (Result) into(new Field[] { field1 }); diff --git a/jOOQ/src/main/java/org/jooq/impl/TableRecordImpl.java b/jOOQ/src/main/java/org/jooq/impl/TableRecordImpl.java index 1d7767a45d..2c2fd132bd 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TableRecordImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/TableRecordImpl.java @@ -59,6 +59,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.LinkedHashSet; +import org.jooq.Converter; import org.jooq.DSLContext; import org.jooq.Field; import org.jooq.ForeignKey; @@ -96,6 +97,18 @@ public class TableRecordImpl> extends AbstractRecord im this.table = table; } + @SuppressWarnings("unchecked") + @Override + public final R with(Field field, T value) { + return (R) super.with(field, value); + } + + @SuppressWarnings("unchecked") + @Override + public final R with(Field field, U value, Converter converter) { + return (R) super.with(field, value, converter); + } + @Override public final Table getTable() { return table; diff --git a/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java b/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java index 7dbd883a06..1e71b598e0 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java @@ -49,6 +49,7 @@ import java.sql.SQLOutput; import java.util.Map; import org.jooq.Configuration; +import org.jooq.Converter; import org.jooq.Field; import org.jooq.Row; import org.jooq.UDT; @@ -135,6 +136,18 @@ public class UDTRecordImpl> extends AbstractRecord implem field.getBinding().set(new DefaultBindingSetSQLOutputContext(configuration, data, stream, get(field))); } + @SuppressWarnings("unchecked") + @Override + public final R with(Field field, T value) { + return (R) super.with(field, value); + } + + @SuppressWarnings("unchecked") + @Override + public final R with(Field field, U value, Converter converter) { + return (R) super.with(field, value, converter); + } + @Override public String toString() { return DSL.using(configuration()).renderInlined(DSL.inline(this));