[#4113] Add Field<?>[] { Cursor | Record | RecordType | Result | Row | TableLike | UDT }.fields( { Field<?>... | int... | String... } ) for convenience
This commit is contained in:
parent
4941d21c1e
commit
c4ce640ec0
@ -115,6 +115,38 @@ public interface Cursor<R extends Record> extends Iterable<R> /* [java-8] */, Au
|
||||
*/
|
||||
Field<?>[] fields();
|
||||
|
||||
/**
|
||||
* Get all fields from this Cursor, providing some fields.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(Field...)
|
||||
*/
|
||||
Field<?>[] fields(Field<?>... fields);
|
||||
|
||||
/**
|
||||
* Get all fields from this Cursor, providing some field names.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(String...)
|
||||
*/
|
||||
Field<?>[] fields(String... fieldNames);
|
||||
|
||||
/**
|
||||
* Get all fields from this Cursor, providing some field names.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(Name...)
|
||||
*/
|
||||
Field<?>[] fields(Name... fieldNames);
|
||||
|
||||
/**
|
||||
* Get all fields from this Cursor, providing some field indexes.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(int...)
|
||||
*/
|
||||
Field<?>[] fields(int... fieldIndexes);
|
||||
|
||||
/**
|
||||
* Check whether this cursor has a next record.
|
||||
* <p>
|
||||
|
||||
@ -159,6 +159,38 @@ public interface Result<R extends Record> extends List<R>, Attachable {
|
||||
*/
|
||||
Field<?>[] fields();
|
||||
|
||||
/**
|
||||
* Get all fields from this Result, providing some fields.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(Field...)
|
||||
*/
|
||||
Field<?>[] fields(Field<?>... fields);
|
||||
|
||||
/**
|
||||
* Get all fields from this Result, providing some field names.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(String...)
|
||||
*/
|
||||
Field<?>[] fields(String... fieldNames);
|
||||
|
||||
/**
|
||||
* Get all fields from this Result, providing some field names.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(Name...)
|
||||
*/
|
||||
Field<?>[] fields(Name... fieldNames);
|
||||
|
||||
/**
|
||||
* Get all fields from this Result, providing some field indexes.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(int...)
|
||||
*/
|
||||
Field<?>[] fields(int... fieldIndexes);
|
||||
|
||||
/**
|
||||
* Convenience method to fetch a value at a given position in the result.
|
||||
*
|
||||
|
||||
@ -133,6 +133,38 @@ public interface TableLike<R extends Record> extends QueryPart {
|
||||
*/
|
||||
Field<?>[] fields();
|
||||
|
||||
/**
|
||||
* Get all fields from this table, providing some fields.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(Field...)
|
||||
*/
|
||||
Field<?>[] fields(Field<?>... fields);
|
||||
|
||||
/**
|
||||
* Get all fields from this table, providing some field names.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(String...)
|
||||
*/
|
||||
Field<?>[] fields(String... fieldNames);
|
||||
|
||||
/**
|
||||
* Get all fields from this table, providing some field names.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(Name...)
|
||||
*/
|
||||
Field<?>[] fields(Name... fieldNames);
|
||||
|
||||
/**
|
||||
* Get all fields from this table, providing some field indexes.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(int...)
|
||||
*/
|
||||
Field<?>[] fields(int... fieldIndexes);
|
||||
|
||||
/**
|
||||
* The underlying table representation of this object
|
||||
* <p>
|
||||
|
||||
@ -90,6 +90,38 @@ public interface UDT<R extends UDTRecord<R>> extends QueryPart {
|
||||
*/
|
||||
Field<?>[] fields();
|
||||
|
||||
/**
|
||||
* Get all fields from this UDT, providing some fields.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(Field...)
|
||||
*/
|
||||
Field<?>[] fields(Field<?>... fields);
|
||||
|
||||
/**
|
||||
* Get all fields from this UDT, providing some field names.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(String...)
|
||||
*/
|
||||
Field<?>[] fields(String... fieldNames);
|
||||
|
||||
/**
|
||||
* Get all fields from this UDT, providing some field names.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(Name...)
|
||||
*/
|
||||
Field<?>[] fields(Name... fieldNames);
|
||||
|
||||
/**
|
||||
* Get all fields from this UDT, providing some field indexes.
|
||||
*
|
||||
* @return All available fields
|
||||
* @see Row#fields(int...)
|
||||
*/
|
||||
Field<?>[] fields(int... fieldIndexes);
|
||||
|
||||
/**
|
||||
* Get the UDT schema
|
||||
*/
|
||||
|
||||
@ -214,6 +214,26 @@ abstract class AbstractTable<R extends Record> extends AbstractQueryPart impleme
|
||||
return fieldsRow().fields();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(Field<?>... fields) {
|
||||
return fieldsRow().fields(fields);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(String... fieldNames) {
|
||||
return fieldsRow().fields(fieldNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(Name... fieldNames) {
|
||||
return fieldsRow().fields(fieldNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(int... fieldIndexes) {
|
||||
return fieldsRow().fields(fieldIndexes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Table<R> asTable() {
|
||||
return this;
|
||||
|
||||
@ -174,7 +174,27 @@ class CursorImpl<R extends Record> implements Cursor<R> {
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields() {
|
||||
return cursorFields.clone();
|
||||
return fieldsRow().fields();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(Field<?>... fields) {
|
||||
return fieldsRow().fields(fields);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(String... fieldNames) {
|
||||
return fieldsRow().fields(fieldNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(Name... fieldNames) {
|
||||
return fieldsRow().fields(fieldNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(int... fieldIndexes) {
|
||||
return fieldsRow().fields(fieldIndexes);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -179,9 +179,8 @@ class Fields<R extends Record> extends AbstractQueryPart implements RecordType<R
|
||||
public final Field<?>[] fields(Field<?>... f) {
|
||||
Field<?>[] result = new Field[f.length];
|
||||
|
||||
for (int i = 0; i < result.length; i++) {
|
||||
for (int i = 0; i < result.length; i++)
|
||||
result[i] = field(f[i]);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -190,9 +189,8 @@ class Fields<R extends Record> extends AbstractQueryPart implements RecordType<R
|
||||
public final Field<?>[] fields(String... f) {
|
||||
Field<?>[] result = new Field[f.length];
|
||||
|
||||
for (int i = 0; i < result.length; i++) {
|
||||
for (int i = 0; i < result.length; i++)
|
||||
result[i] = field(f[i]);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -201,9 +199,8 @@ class Fields<R extends Record> extends AbstractQueryPart implements RecordType<R
|
||||
public final Field<?>[] fields(Name... f) {
|
||||
Field<?>[] result = new Field[f.length];
|
||||
|
||||
for (int i = 0; i < result.length; i++) {
|
||||
for (int i = 0; i < result.length; i++)
|
||||
result[i] = field(f[i]);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -212,9 +209,8 @@ class Fields<R extends Record> extends AbstractQueryPart implements RecordType<R
|
||||
public final Field<?>[] fields(int... f) {
|
||||
Field<?>[] result = new Field[f.length];
|
||||
|
||||
for (int i = 0; i < result.length; i++) {
|
||||
for (int i = 0; i < result.length; i++)
|
||||
result[i] = field(f[i]);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -253,44 +253,24 @@ class ResultImpl<R extends Record> implements Result<R>, AttachableInternal {
|
||||
return fields.fields().clone();
|
||||
}
|
||||
|
||||
// @Override [#4113] TODO: Make this public
|
||||
final Field<?>[] fields(Field<?>... f) {
|
||||
Field<?>[] result = new Field[f.length];
|
||||
|
||||
for (int i = 0; i < f.length; i++)
|
||||
result[i] = field(f[i]);
|
||||
|
||||
return result;
|
||||
@Override
|
||||
public final Field<?>[] fields(Field<?>... f) {
|
||||
return fields.fields(f);
|
||||
}
|
||||
|
||||
// @Override [#4113] TODO: Make this public
|
||||
final Field<?>[] fields(int... indexes) {
|
||||
Field<?>[] result = new Field[indexes.length];
|
||||
|
||||
for (int i = 0; i < indexes.length; i++)
|
||||
result[i] = field(indexes[i]);
|
||||
|
||||
return result;
|
||||
@Override
|
||||
public final Field<?>[] fields(int... indexes) {
|
||||
return fields.fields(indexes);
|
||||
}
|
||||
|
||||
// @Override [#4113] TODO: Make this public
|
||||
final Field<?>[] fields(String... names) {
|
||||
Field<?>[] result = new Field[names.length];
|
||||
|
||||
for (int i = 0; i < names.length; i++)
|
||||
result[i] = field(names[i]);
|
||||
|
||||
return result;
|
||||
@Override
|
||||
public final Field<?>[] fields(String... names) {
|
||||
return fields.fields(names);
|
||||
}
|
||||
|
||||
// @Override [#4113] TODO: Make this public
|
||||
final Field<?>[] fields(Name... names) {
|
||||
Field<?>[] result = new Field[names.length];
|
||||
|
||||
for (int i = 0; i < names.length; i++)
|
||||
result[i] = field(names[i]);
|
||||
|
||||
return result;
|
||||
@Override
|
||||
public final Field<?>[] fields(Name... names) {
|
||||
return fields.fields(names);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -3325,6 +3325,26 @@ class SelectImpl<R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
|
||||
return getDelegate().fields();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(Field<?>... fields) {
|
||||
return getDelegate().fields(fields);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(String... fieldNames) {
|
||||
return getDelegate().fields(fieldNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(Name... fieldNames) {
|
||||
return getDelegate().fields(fieldNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(int... fieldIndexes) {
|
||||
return getDelegate().fields(fieldIndexes);
|
||||
}
|
||||
|
||||
/**
|
||||
* The {@link SelectImpl} current condition step
|
||||
* <p>
|
||||
|
||||
@ -323,6 +323,26 @@ class SelectQueryImpl<R extends Record> extends AbstractResultQuery<R> implement
|
||||
return asTable().fields();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(Field<?>... fields) {
|
||||
return asTable().fields(fields);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(String... fieldNames) {
|
||||
return asTable().fields(fieldNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(Name... fieldNames) {
|
||||
return asTable().fields(fieldNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(int... fieldIndexes) {
|
||||
return asTable().fields(fieldIndexes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Table<R> asTable() {
|
||||
// Its usually better to alias nested selects that are used in
|
||||
|
||||
@ -117,6 +117,26 @@ public class UDTImpl<R extends UDTRecord<R>> extends AbstractQueryPart implement
|
||||
return fieldsRow().fields();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(Field<?>... f) {
|
||||
return fieldsRow().fields(f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(String... fieldNames) {
|
||||
return fieldsRow().fields(fieldNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(Name... fieldNames) {
|
||||
return fieldsRow().fields(fieldNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Field<?>[] fields(int... fieldIndexes) {
|
||||
return fieldsRow().fields(fieldIndexes);
|
||||
}
|
||||
|
||||
final Fields<R> fields0() {
|
||||
return fields;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user