private final <K> Map<K, Result<R>> intoGroups0(int keyFieldIndex) { Map<K, Result<R>> map = new LinkedHashMap<K, Result<R>>(); for (R record : this) { K val = (K) record.get(keyFieldIndex); Result<R> result = map.get(val); if (result == null) map.put(val, result = new ResultImpl<R>(configuration, fields)); result.add(record); } return map; }
@Override public String toString() { Result<AbstractRecord> result = new ResultImpl<AbstractRecord>(configuration(), fields.fields.fields); result.add(this); return result.toString(); }
@Override public String unguarded() { Result<AbstractRecord> result = new ResultImpl<AbstractRecord>(configuration(), fields.fields.fields); result.add(AbstractRecord.this); return result.toString(); }
@Override public final <S extends Record> Map<S, Result<R>> intoGroups(Table<S> table) { Map<S, Result<R>> map = new LinkedHashMap<S, Result<R>>(); for (R record : this) { S key = record.into(table); Result<R> result = map.get(key); if (result == null) map.put(key, result = new ResultImpl<R>(configuration(), this.fields)); result.add(record); } return map; }
@Override public final <K> Map<K, Result<R>> intoGroups(RecordMapper<? super R, K> keyMapper) { Map<K, Result<R>> map = new LinkedHashMap<K, Result<R>>(); for (R record : this) { K key = keyMapper.map(record); Result<R> result = map.get(key); if (result == null) map.put(key, result = new ResultImpl(configuration(), fields())); result.add(record); } return map; }
@Override public final Map<Record, Result<R>> intoGroups(Field<?>[] keys) { if (keys == null) keys = new Field[0]; Map<Record, Result<R>> map = new LinkedHashMap<Record, Result<R>>(); for (R record : this) { RecordImpl key = new RecordImpl(keys); for (Field<?> field : keys) Tools.copyValue(key, field, record, field); Result<R> result = map.get(key); if (result == null) map.put(key, result = new ResultImpl<R>(configuration(), this.fields)); result.add(record); } return map; }
@SuppressWarnings("unchecked") @Override public final <K> Map<K, Result<R>> intoGroups(Field<K> key) { int index = indexOrFail(fieldsRow(), key); Map<K, Result<R>> map = new LinkedHashMap<K, Result<R>>(); for (R record : this) { K val = (K) record.getValue(index); Result<R> result = map.get(val); if (result == null) { result = new ResultImpl<R>(configuration, fields); map.put(val, result); } result.add(record); } return map; }
@Override public final <S extends Record, T extends Record> Map<S, Result<T>> intoGroups(Table<S> keyTable, Table<T> valueTable) { Map<S, Result<T>> map = new LinkedHashMap<S, Result<T>>(); for (R record : this) { S key = record.into(keyTable); T value = record.into(valueTable); Result<T> result = map.get(key); if (result == null) map.put(key, result = DSL.using(configuration()).newResult(valueTable)); result.add(value); } return map; }
@Override public final void format(Writer writer, TXTFormat format) { Result<AbstractRecord> result = new ResultImpl<AbstractRecord>(configuration(), fields.fields.fields); result.add(AbstractRecord.this); result.format(writer, format); }
@Override public Result<Record> fetchFromStringData(List<String[]> data) { if (data.size() == 0) { return new ResultImpl<Record>(configuration); } else { List<Field<?>> fields = new ArrayList<Field<?>>(); for (String name : data.get(0)) { fields.add(fieldByName(String.class, name)); } Result<Record> result = new ResultImpl<Record>(configuration, fields); if (data.size() > 1) { for (String[] values : data.subList(1, data.size())) { RecordImpl record = new RecordImpl(fields); for (int i = 0; i < Math.min(values.length, fields.size()); i++) { record.setValue(i, new Value<Object>(values[i])); } result.add(record); } } return result; } }
@Override public final Result<Record> into(Field<?>... f) { Result<Record> result = new ResultImpl<Record>(Tools.configuration(this), f); for (Record record : this) result.add(record.into(f)); return result; }
@Override public final Map<Record, Result<R>> intoGroups(Field<?>[] keys) { if (keys == null) { keys = new Field[0]; } Map<Record, Result<R>> map = new LinkedHashMap<Record, Result<R>>(); for (R record : this) { @SuppressWarnings({ "rawtypes", "unchecked" }) RecordImpl key = new RecordImpl(keys); for (Field<?> field : keys) { Utils.copyValue(key, field, record, field); } Result<R> result = map.get(key); if (result == null) { result = new ResultImpl<R>(configuration(), this.fields); map.put(key, result); } result.add(record); } return map; }
@Override public Result<Record> fetchFromStringData(List<String[]> strings, boolean header) { if (strings.size() == 0) { return new ResultImpl<Record>(configuration()); } else { List<Field<?>> fields = new ArrayList<Field<?>>(strings.get(0).length); int firstRow = header ? 1 : 0; if (header) for (String name : strings.get(0)) fields.add(field(name(name), String.class)); else for (int i = 0; i < strings.get(0).length; i++) fields.add(field(name("COL" + (i + 1)), String.class)); Result<Record> result = new ResultImpl<Record>(configuration(), fields); if (strings.size() > firstRow) { for (String[] values : strings.subList(firstRow, strings.size())) { RecordImpl record = new RecordImpl(fields); for (int i = 0; i < Math.min(values.length, fields.size()); i++) { record.values[i] = values[i]; record.originals[i] = values[i]; } result.add(record); } } return result; } }
@Override public final Map<Record, Result<Record>> intoGroups(Field<?>[] keys, Field<?>[] values) { if (keys == null) keys = new Field[0]; if (values == null) values = new Field[0]; Map<Record, Result<Record>> map = new LinkedHashMap<Record, Result<Record>>(); for (R record : this) { RecordImpl key = new RecordImpl(keys); RecordImpl value = new RecordImpl(values); for (Field<?> field : keys) Tools.copyValue(key, field, record, field); for (Field<?> field : values) Tools.copyValue(value, field, record, field); Result<Record> result = map.get(key); if (result == null) map.put(key, result = new ResultImpl<Record>(configuration(), values)); result.add(value); } return map; }
/** * Wrap a record in a result. */ static final Result<?> result(Record data) { Result<Record> result = using(data.configuration()).newResult(data.fields()); result.add(data); return result; }
@Override public final <Z extends Record> Result<Z> into(Table<Z> table) { Result<Z> list = new ResultImpl<Z>(configuration(), table.fields()); for (R record : this) list.add(record.into(table)); return list; }
@Override public final <Z extends Record> Result<Z> into(Table<Z> table) { Result<Z> list = new ResultImpl<Z>(configuration(), table.fields()); for (R record : this) { list.add(record.into(table)); } return list; }
@SuppressWarnings("unchecked") private ResultSet getResultSet0(T[] a) { DSLContext create = DSL.using(dialect); Field<Long> index = field(name("INDEX"), Long.class); Field<T> value = (Field<T>) field(name("VALUE"), type.getComponentType()); Result<Record2<Long, T>> result = create.newResult(index, value); for (int i = 0; i < a.length; i++) { Record2<Long, T> record = create.newRecord(index, value); record.setValue(index, i + 1L); record.setValue(value, a[i]); result.add(record); } return new MockResultSet(result); }
Field<Integer> c = field(name("UPDATE_COUNT"), int.class); Result<Record1<Integer>> r = dsl.newResult(c); r.add(dsl.newRecord(c).values(ctx.rows())); ctx.resultSet(new MockResultSet(r));
getReturnedRecords().add( Utils.newRecord(into, configuration) .operate(new RecordOperation<R, RuntimeException>() {