[#5501] Add Record.with(Field, T) for fluent setting of values on a Record

This commit is contained in:
lukaseder 2016-08-18 16:19:21 +02:00
parent 8eb73b4180
commit 1b52a52be0
30 changed files with 368 additions and 0 deletions

View File

@ -399,6 +399,22 @@ public interface Record extends Attachable, Comparable<Record> {
*/
<T, U> void set(Field<T> field, U value, Converter<? extends T, ? super U> converter);
/**
* Set a value into this record.
* <p>
* Like {@link #set(Field, Object)} but returning <code>this</code> for
* fluent setting of multiple values.
*/
<T> Record with(Field<T> field, T value);
/**
* Set a value into this record.
* <p>
* Like {@link #set(Field, Object, Converter)} but returning
* <code>this</code> for fluent setting of multiple values.
*/
<T, U> Record with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
/**
* Get the number of fields of this record.
*/
@ -661,6 +677,7 @@ public interface Record extends Attachable, Comparable<Record> {
Record into(Field<?>... fields);
// [jooq-tools] START [into-fields]
/**
* Copy this record into a new record holding only a subset of the previous
* fields.

View File

@ -95,4 +95,17 @@ public interface Record1<T1> extends Record {
*/
Record1<T1> values(T1 t1);
// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695)
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T> Record1<T1> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record1<T1> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -230,4 +230,17 @@ public interface Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> extends Recor
*/
Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> 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
// <T> Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -245,4 +245,17 @@ public interface Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> extends
*/
Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> 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
// <T> Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -260,4 +260,17 @@ public interface Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ext
*/
Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> 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
// <T> Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -275,4 +275,17 @@ public interface Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
*/
Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> 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
// <T> Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -290,4 +290,17 @@ public interface Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
*/
Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> 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
// <T> Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -305,4 +305,17 @@ public interface Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
*/
Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> 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
// <T> Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -320,4 +320,17 @@ public interface Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
*/
Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> 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
// <T> Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -335,4 +335,17 @@ public interface Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
*/
Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> 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
// <T> Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -350,4 +350,17 @@ public interface Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
*/
Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> 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
// <T> Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -365,4 +365,17 @@ public interface Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
*/
Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> 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
// <T> Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -110,4 +110,17 @@ public interface Record2<T1, T2> extends Record {
*/
Record2<T1, T2> values(T1 t1, T2 t2);
// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695)
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T> Record2<T1, T2> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record2<T1, T2> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -380,4 +380,17 @@ public interface Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
*/
Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> 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
// <T> Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -395,4 +395,17 @@ public interface Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
*/
Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> 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
// <T> Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -410,4 +410,17 @@ public interface Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
*/
Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> 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
// <T> Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -125,4 +125,17 @@ public interface Record3<T1, T2, T3> extends Record {
*/
Record3<T1, T2, T3> values(T1 t1, T2 t2, T3 t3);
// [#4695] [#5501] The following covariant overrides cannot be published yet for implementation reasons (see #4695)
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T> Record3<T1, T2, T3> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record3<T1, T2, T3> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -140,4 +140,17 @@ public interface Record4<T1, T2, T3, T4> extends Record {
*/
Record4<T1, T2, T3, T4> 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
// <T> Record4<T1, T2, T3, T4> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record4<T1, T2, T3, T4> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -155,4 +155,17 @@ public interface Record5<T1, T2, T3, T4, T5> extends Record {
*/
Record5<T1, T2, T3, T4, T5> 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
// <T> Record5<T1, T2, T3, T4, T5> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record5<T1, T2, T3, T4, T5> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -170,4 +170,17 @@ public interface Record6<T1, T2, T3, T4, T5, T6> extends Record {
*/
Record6<T1, T2, T3, T4, T5, T6> 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
// <T> Record6<T1, T2, T3, T4, T5, T6> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record6<T1, T2, T3, T4, T5, T6> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -185,4 +185,17 @@ public interface Record7<T1, T2, T3, T4, T5, T6, T7> extends Record {
*/
Record7<T1, T2, T3, T4, T5, T6, T7> 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
// <T> Record7<T1, T2, T3, T4, T5, T6, T7> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record7<T1, T2, T3, T4, T5, T6, T7> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -200,4 +200,17 @@ public interface Record8<T1, T2, T3, T4, T5, T6, T7, T8> extends Record {
*/
Record8<T1, T2, T3, T4, T5, T6, T7, T8> 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
// <T> Record8<T1, T2, T3, T4, T5, T6, T7, T8> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record8<T1, T2, T3, T4, T5, T6, T7, T8> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -215,4 +215,17 @@ public interface Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9> extends Record {
*/
Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9> 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
// <T> Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9> with(Field<T> field, T value);
//
// /**
// * {@inheritDoc}
// */
// @Override
// <T, U> Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9> with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -2681,6 +2681,7 @@ public interface Result<R extends Record> extends List<R>, Attachable {
Result<Record> 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.

View File

@ -113,4 +113,16 @@ public interface TableRecord<R extends TableRecord<R>> extends Record {
* @see ForeignKey#fetchParents(Record...)
*/
<O extends UpdatableRecord<O>> O fetchParent(ForeignKey<R, O> key) throws DataAccessException;
/**
* {@inheritDoc}
*/
@Override
<T> R with(Field<T> field, T value);
/**
* {@inheritDoc}
*/
@Override
<T, U> R with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -55,4 +55,16 @@ public interface UDTRecord<R extends UDTRecord<R>> extends Record, SQLData {
*/
UDT<R> getUDT();
/**
* {@inheritDoc}
*/
@Override
<T> R with(Field<T> field, T value);
/**
* {@inheritDoc}
*/
@Override
<T, U> R with(Field<T> field, U value, Converter<? extends T, ? super U> converter);
}

View File

@ -348,6 +348,18 @@ abstract class AbstractRecord extends AbstractStore implements Record {
set(field, converter.to(value));
}
@Override
public /* non-final */ <T> Record with(Field<T> field, T value) {
set(field, value);
return this;
}
@Override
public <T, U> Record with(Field<T> field, U value, Converter<? extends T, ? super U> 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 <T1> Record1<T1> into(Field<T1> field1) {
return (Record1) into(new Field[] { field1 });

View File

@ -2046,6 +2046,7 @@ final class ResultImpl<R extends Record> implements Result<R>, AttachableInterna
}
// [jooq-tools] START [into-fields]
@Override
public final <T1> Result<Record1<T1>> into(Field<T1> field1) {
return (Result) into(new Field[] { field1 });

View File

@ -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<R extends TableRecord<R>> extends AbstractRecord im
this.table = table;
}
@SuppressWarnings("unchecked")
@Override
public final <T> R with(Field<T> field, T value) {
return (R) super.with(field, value);
}
@SuppressWarnings("unchecked")
@Override
public final <T, U> R with(Field<T> field, U value, Converter<? extends T, ? super U> converter) {
return (R) super.with(field, value, converter);
}
@Override
public final Table<R> getTable() {
return table;

View File

@ -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<R extends UDTRecord<R>> extends AbstractRecord implem
field.getBinding().set(new DefaultBindingSetSQLOutputContext<T>(configuration, data, stream, get(field)));
}
@SuppressWarnings("unchecked")
@Override
public final <T> R with(Field<T> field, T value) {
return (R) super.with(field, value);
}
@SuppressWarnings("unchecked")
@Override
public final <T, U> R with(Field<T> field, U value, Converter<? extends T, ? super U> converter) {
return (R) super.with(field, value, converter);
}
@Override
public String toString() {
return DSL.using(configuration()).renderInlined(DSL.inline(this));