diff --git a/jOOQ/src/main/java/org/jooq/Record.java b/jOOQ/src/main/java/org/jooq/Record.java index 20df98b0b1..263c9044bb 100644 --- a/jOOQ/src/main/java/org/jooq/Record.java +++ b/jOOQ/src/main/java/org/jooq/Record.java @@ -48,6 +48,7 @@ import java.sql.SQLData; import java.sql.Statement; import java.util.Map; +import javax.annotation.Generated; import javax.persistence.Column; import org.jooq.exception.DataTypeException; @@ -692,6 +693,239 @@ public interface Record extends Attachable, Comparable { */ Map intoMap(); + /** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @param fields The fields of the new record + * @return The new 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. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record1 into(Field field1); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record2 into(Field field1, Field field2); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record3 into(Field field1, Field field2, Field field3); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record4 into(Field field1, Field field2, Field field3, Field field4); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record5 into(Field field1, Field field2, Field field3, Field field4, Field field5); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record6 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record7 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record8 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record9 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record10 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record11 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record12 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record13 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record14 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record15 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record16 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record17 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record18 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record19 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record20 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record21 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21); + +/**//** + * Copy this record into a new record holding only a subset of the previous + * fields. + * + * @return The new record + * @see #into(Record) + */ + @Generated("This class was generated using jOOQ-tools") + Record22 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22); + +// [jooq-tools] END [into-fields] + /** * Map resulting records onto a custom type. *

diff --git a/jOOQ/src/main/java/org/jooq/Result.java b/jOOQ/src/main/java/org/jooq/Result.java index b6fb74ac83..98a247373a 100644 --- a/jOOQ/src/main/java/org/jooq/Result.java +++ b/jOOQ/src/main/java/org/jooq/Result.java @@ -46,6 +46,8 @@ import java.sql.Statement; import java.util.List; import java.util.Map; +import javax.annotation.Generated; + import org.jooq.exception.DataTypeException; import org.jooq.exception.InvalidResultException; import org.jooq.exception.MappingException; @@ -894,6 +896,239 @@ public interface Result extends List, Attachable { U[] intoArray(Field field, Converter converter) throws IllegalArgumentException, DataTypeException; + /** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + 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. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21); + +/**//** + * Copy all records from this result into a new result with new records + * holding only a subset of the previous fields. + * + * @param fields The fields of the new records + * @return The new result + */ + @Generated("This class was generated using jOOQ-tools") + Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22); + +// [jooq-tools] END [into-fields] + /** * Map resulting records onto a custom type. *

diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java b/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java index a047d1e136..a9e82d4645 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java @@ -65,6 +65,28 @@ import org.jooq.Converter; import org.jooq.DataType; import org.jooq.Field; import org.jooq.Record; +import org.jooq.Record1; +import org.jooq.Record10; +import org.jooq.Record11; +import org.jooq.Record12; +import org.jooq.Record13; +import org.jooq.Record14; +import org.jooq.Record15; +import org.jooq.Record16; +import org.jooq.Record17; +import org.jooq.Record18; +import org.jooq.Record19; +import org.jooq.Record2; +import org.jooq.Record20; +import org.jooq.Record21; +import org.jooq.Record22; +import org.jooq.Record3; +import org.jooq.Record4; +import org.jooq.Record5; +import org.jooq.Record6; +import org.jooq.Record7; +import org.jooq.Record8; +import org.jooq.Record9; import org.jooq.RecordMapper; import org.jooq.Result; import org.jooq.Table; @@ -516,6 +538,125 @@ abstract class AbstractRecord extends AbstractStore implements Record { return map; } + @Override + public final Record into(Field... f) { + return Utils.newRecord(fetched, Record.class, f, configuration()).operate(new TransferRecordState()); + } + + // [jooq-tools] START [into-fields] + +/**/@Override + public final Record1 into(Field field1) { + return (Record1) into(new Field[] { field1 }); + } + +/**/@Override + public final Record2 into(Field field1, Field field2) { + return (Record2) into(new Field[] { field1, field2 }); + } + +/**/@Override + public final Record3 into(Field field1, Field field2, Field field3) { + return (Record3) into(new Field[] { field1, field2, field3 }); + } + +/**/@Override + public final Record4 into(Field field1, Field field2, Field field3, Field field4) { + return (Record4) into(new Field[] { field1, field2, field3, field4 }); + } + +/**/@Override + public final Record5 into(Field field1, Field field2, Field field3, Field field4, Field field5) { + return (Record5) into(new Field[] { field1, field2, field3, field4, field5 }); + } + +/**/@Override + public final Record6 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { + return (Record6) into(new Field[] { field1, field2, field3, field4, field5, field6 }); + } + +/**/@Override + public final Record7 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { + return (Record7) into(new Field[] { field1, field2, field3, field4, field5, field6, field7 }); + } + +/**/@Override + public final Record8 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { + return (Record8) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 }); + } + +/**/@Override + public final Record9 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { + return (Record9) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 }); + } + +/**/@Override + public final Record10 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { + return (Record10) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 }); + } + +/**/@Override + public final Record11 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { + return (Record11) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 }); + } + +/**/@Override + public final Record12 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12) { + return (Record12) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 }); + } + +/**/@Override + public final Record13 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13) { + return (Record13) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 }); + } + +/**/@Override + public final Record14 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14) { + return (Record14) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14 }); + } + +/**/@Override + public final Record15 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15) { + return (Record15) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15 }); + } + +/**/@Override + public final Record16 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16) { + return (Record16) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16 }); + } + +/**/@Override + public final Record17 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17) { + return (Record17) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17 }); + } + +/**/@Override + public final Record18 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18) { + return (Record18) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18 }); + } + +/**/@Override + public final Record19 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19) { + return (Record19) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19 }); + } + +/**/@Override + public final Record20 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20) { + return (Record20) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20 }); + } + +/**/@Override + public final Record21 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21) { + return (Record21) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 }); + } + +/**/@Override + public final Record22 into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22) { + return (Record22) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22 }); + } + +// [jooq-tools] END [into-fields] + @Override public final E into(Class type) { return (E) Utils.configuration(this).recordMapperProvider().provide(fields.fields, type).map(this); diff --git a/jOOQ/src/main/java/org/jooq/impl/ResultImpl.java b/jOOQ/src/main/java/org/jooq/impl/ResultImpl.java index b6132767d7..17a272521f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ResultImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ResultImpl.java @@ -71,6 +71,28 @@ import org.jooq.Converter; import org.jooq.EnumType; import org.jooq.Field; import org.jooq.Record; +import org.jooq.Record1; +import org.jooq.Record10; +import org.jooq.Record11; +import org.jooq.Record12; +import org.jooq.Record13; +import org.jooq.Record14; +import org.jooq.Record15; +import org.jooq.Record16; +import org.jooq.Record17; +import org.jooq.Record18; +import org.jooq.Record19; +import org.jooq.Record2; +import org.jooq.Record20; +import org.jooq.Record21; +import org.jooq.Record22; +import org.jooq.Record3; +import org.jooq.Record4; +import org.jooq.Record5; +import org.jooq.Record6; +import org.jooq.Record7; +import org.jooq.Record8; +import org.jooq.Record9; import org.jooq.RecordHandler; import org.jooq.RecordMapper; import org.jooq.RecordType; @@ -94,6 +116,7 @@ import org.xml.sax.helpers.AttributesImpl; * @author Lukas Eder * @author Ivan Dugic */ +@SuppressWarnings({"rawtypes", "unchecked" }) class ResultImpl implements Result, AttachableInternal { /** @@ -153,7 +176,6 @@ class ResultImpl implements Result, AttachableInternal { return fields; } - @SuppressWarnings({ "rawtypes" }) @Override public final Row fieldsRow() { return new RowImpl(fields); @@ -222,7 +244,6 @@ class ResultImpl implements Result, AttachableInternal { return get(index).getValue(fieldName, defaultValue); } - @SuppressWarnings("unchecked") @Override public final List getValues(Field field) { return (List) getValues(indexOrFail(fieldsRow(), field)); @@ -772,7 +793,6 @@ class ResultImpl implements Result, AttachableInternal { } - @SuppressWarnings("unchecked") @Override public final Map intoMap(Field key) { int index = indexOrFail(fieldsRow(), key); @@ -787,7 +807,6 @@ class ResultImpl implements Result, AttachableInternal { return map; } - @SuppressWarnings("unchecked") @Override public final Map intoMap(Field key, Field value) { int kIndex = indexOrFail(fieldsRow(), key); @@ -812,8 +831,6 @@ class ResultImpl implements Result, AttachableInternal { Map map = new LinkedHashMap(); for (R record : this) { - - @SuppressWarnings({ "rawtypes", "unchecked" }) RecordImpl key = new RecordImpl(keys); for (Field field : keys) { @@ -860,7 +877,6 @@ class ResultImpl implements Result, AttachableInternal { return intoMap(key, Utils.configuration(this).recordMapperProvider().provide(fields, type)); } - @SuppressWarnings("unchecked") @Override public final Map intoMap(Field key, RecordMapper mapper) { int index = indexOrFail(fieldsRow(), key); @@ -875,7 +891,6 @@ class ResultImpl implements Result, AttachableInternal { return map; } - @SuppressWarnings("unchecked") @Override public final Map> intoGroups(Field key) { int index = indexOrFail(fieldsRow(), key); @@ -896,7 +911,6 @@ class ResultImpl implements Result, AttachableInternal { return map; } - @SuppressWarnings("unchecked") @Override public final Map> intoGroups(Field key, Field value) { int kIndex = indexOrFail(fieldsRow(), key); @@ -928,8 +942,6 @@ class ResultImpl implements Result, AttachableInternal { Map> map = new LinkedHashMap>(); for (R record : this) { - - @SuppressWarnings({ "rawtypes", "unchecked" }) RecordImpl key = new RecordImpl(keys); for (Field field : keys) { @@ -953,7 +965,6 @@ class ResultImpl implements Result, AttachableInternal { return intoGroups(key, Utils.configuration(this).recordMapperProvider().provide(fields, type)); } - @SuppressWarnings("unchecked") @Override public final Map> intoGroups(Field key, RecordMapper mapper) { int index = indexOrFail(fieldsRow(), key); @@ -987,8 +998,6 @@ class ResultImpl implements Result, AttachableInternal { Map> map = new LinkedHashMap>(); for (R record : this) { - - @SuppressWarnings({ "rawtypes", "unchecked" }) RecordImpl key = new RecordImpl(keys); for (Field field : keys) { @@ -1026,7 +1035,6 @@ class ResultImpl implements Result, AttachableInternal { return list.toArray((Object[]) Array.newInstance(type, list.size())); } - @SuppressWarnings("unchecked") @Override public final T[] intoArray(int fieldIndex, Class type) { return (T[]) Convert.convertArray(intoArray(fieldIndex), type); @@ -1044,7 +1052,6 @@ class ResultImpl implements Result, AttachableInternal { return list.toArray((Object[]) Array.newInstance(type, list.size())); } - @SuppressWarnings("unchecked") @Override public final T[] intoArray(String fieldName, Class type) { return (T[]) Convert.convertArray(intoArray(fieldName), type); @@ -1055,13 +1062,11 @@ class ResultImpl implements Result, AttachableInternal { return Convert.convertArray(intoArray(fieldName), converter); } - @SuppressWarnings("unchecked") @Override public final T[] intoArray(Field field) { return getValues(field).toArray((T[]) Array.newInstance(field.getType(), 0)); } - @SuppressWarnings("unchecked") @Override public final T[] intoArray(Field field, Class type) { return (T[]) Convert.convertArray(intoArray(field), type); @@ -1072,6 +1077,130 @@ class ResultImpl implements Result, AttachableInternal { return Convert.convertArray(intoArray(field), converter); } + @Override + public final Result into(Field... f) { + Result result = new ResultImpl(Utils.configuration(this), f); + + for (Record record : this) + result.add(record.into(f)); + + return result; + } + + // [jooq-tools] START [into-fields] + +/**/@Override + public final Result> into(Field field1) { + return (Result) into(new Field[] { field1 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2) { + return (Result) into(new Field[] { field1, field2 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3) { + return (Result) into(new Field[] { field1, field2, field3 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4) { + return (Result) into(new Field[] { field1, field2, field3, field4 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 }); + } + +/**/@Override + public final Result> into(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22) { + return (Result) into(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22 }); + } + +// [jooq-tools] END [into-fields] + @Override public final List into(Class type) { List list = new ArrayList(size()); @@ -1125,13 +1254,11 @@ class ResultImpl implements Result, AttachableInternal { return sortAsc(field, new NaturalComparator()); } - @SuppressWarnings("rawtypes") @Override public final Result sortAsc(int fieldIndex) { return sortAsc(fieldIndex, new NaturalComparator()); } - @SuppressWarnings("rawtypes") @Override public final Result sortAsc(String fieldName) { return sortAsc(fieldName, new NaturalComparator()); @@ -1142,7 +1269,6 @@ class ResultImpl implements Result, AttachableInternal { return sortAsc(indexOrFail(fieldsRow(), field), comparator); } - @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public final Result sortAsc(int fieldIndex, Comparator comparator) { return sortAsc(new RecordComparator(fieldIndex, comparator)); @@ -1164,13 +1290,11 @@ class ResultImpl implements Result, AttachableInternal { return sortAsc(field, Collections.reverseOrder(new NaturalComparator())); } - @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public final Result sortDesc(int fieldIndex) { return sortAsc(fieldIndex, Collections.reverseOrder(new NaturalComparator())); } - @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public final Result sortDesc(String fieldName) { return sortAsc(fieldName, Collections.reverseOrder(new NaturalComparator())); @@ -1232,7 +1356,6 @@ class ResultImpl implements Result, AttachableInternal { this.comparator = comparator; } - @SuppressWarnings("unchecked") @Override public int compare(R record1, R record2) { return comparator.compare((T) record1.getValue(fieldIndex), (T) record2.getValue(fieldIndex)); @@ -1273,7 +1396,6 @@ class ResultImpl implements Result, AttachableInternal { return records.hashCode(); } - @SuppressWarnings("unchecked") @Override public boolean equals(Object obj) { if (this == obj) { diff --git a/jOOQ/src/test/java/org/jooq/test/RecordTest.java b/jOOQ/src/test/java/org/jooq/test/RecordTest.java index 22a4376290..4a4a2dd898 100644 --- a/jOOQ/src/test/java/org/jooq/test/RecordTest.java +++ b/jOOQ/src/test/java/org/jooq/test/RecordTest.java @@ -41,8 +41,11 @@ package org.jooq.test; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import org.jooq.Record1; import org.jooq.test.data.Table1; import org.jooq.test.data.Table1Record; import org.jooq.test.data.Table2; @@ -112,4 +115,24 @@ public class RecordTest extends AbstractTest { r4b.setValue(Table4.FIELD_ARRAY4, new Object[] { 1, 1 }); assertEquals(-1, r4a.compareTo(r4b)); } + + @Test + public void testRecordInto() { + Table1Record r1 = create.newRecord(Table1.TABLE1); + r1.setValue(Table1.FIELD_ID1, 1); + r1.setValue(Table1.FIELD_NAME1, "x"); + + Record1 r2 = r1.into(Table1.FIELD_ID1); + assertEquals(1, r2.size()); + assertEquals(Table1.FIELD_ID1, r2.field(0)); + assertEquals(1, (int) r2.value1()); + assertTrue(r2.changed()); + + r1.changed(false); + r2 = r1.into(Table1.FIELD_ID1); + assertEquals(1, r2.size()); + assertEquals(Table1.FIELD_ID1, r2.field(0)); + assertEquals(1, (int) r2.value1()); + assertFalse(r2.changed()); + } }