-
- Type Parameters:
R- The record type
- All Superinterfaces:
QueryPart,java.io.Serializable
- All Known Subinterfaces:
CommonTableExpression<R>,Select<R>,SelectConditionStep<R>,SelectConnectByAfterStartWithConditionStep<R>,SelectConnectByConditionStep<R>,SelectConnectByStep<R>,SelectDistinctOnStep<R>,SelectFinalStep<R>,SelectForUpdateOfStep<R>,SelectForUpdateStep<R>,SelectForUpdateWaitStep<R>,SelectFromStep<R>,SelectGroupByStep<R>,SelectHavingConditionStep<R>,SelectHavingStep<R>,SelectIntoStep<R>,SelectJoinStep<R>,SelectLimitAfterOffsetStep<R>,SelectLimitPercentAfterOffsetStep<R>,SelectLimitPercentStep<R>,SelectLimitStep<R>,SelectOffsetStep<R>,SelectOnConditionStep<R>,SelectOptionalOnStep<R>,SelectOptionStep<R>,SelectOrderByStep<R>,SelectQualifyConditionStep<R>,SelectQualifyStep<R>,SelectQuery<R>,SelectSeekLimitStep<R>,SelectSeekStep1<R,T1>,SelectSeekStep10<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>,SelectSeekStep11<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>,SelectSeekStep12<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>,SelectSeekStep13<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>,SelectSeekStep14<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>,SelectSeekStep15<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>,SelectSeekStep16<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>,SelectSeekStep17<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>,SelectSeekStep18<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>,SelectSeekStep19<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>,SelectSeekStep2<R,T1,T2>,SelectSeekStep20<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>,SelectSeekStep21<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>,SelectSeekStep22<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>,SelectSeekStep3<R,T1,T2,T3>,SelectSeekStep4<R,T1,T2,T3,T4>,SelectSeekStep5<R,T1,T2,T3,T4,T5>,SelectSeekStep6<R,T1,T2,T3,T4,T5,T6>,SelectSeekStep7<R,T1,T2,T3,T4,T5,T6,T7>,SelectSeekStep8<R,T1,T2,T3,T4,T5,T6,T7,T8>,SelectSeekStep9<R,T1,T2,T3,T4,T5,T6,T7,T8,T9>,SelectSeekStepN<R>,SelectSelectStep<R>,SelectStartWithStep<R>,SelectUnionStep<R>,SelectWhereStep<R>,SelectWindowStep<R>,SelectWithTiesAfterOffsetStep<R>,SelectWithTiesStep<R>,Table<R>,TableOnConditionStep<R>,TableOptionalOnStep<R>
- All Known Implementing Classes:
CustomTable,TableImpl
public interface TableLike<R extends Record> extends QueryPart
An object that can behave like a table (a table-like object).Instances of this type cannot be created directly, only of its subtypes.
- Author:
- Lukas Eder
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Table<R>asTable()The underlying table representation of this object.Table<R>asTable(java.lang.String alias)The underlying aliased table representation of this object.Table<R>asTable(java.lang.String alias, java.lang.String... fieldAliases)The underlying aliased table representation of this object.Table<R>asTable(java.lang.String alias, java.util.function.BiFunction<? super Field<?>,? super java.lang.Integer,? extends java.lang.String> aliasFunction)The underlying aliased table representation of this object.Table<R>asTable(java.lang.String alias, java.util.function.Function<? super Field<?>,? extends java.lang.String> aliasFunction)The underlying aliased table representation of this object.Field<?>field(int index)Get a specific field from this table, if this table knows its field references.<T> Field<T>field(int index, java.lang.Class<T> type)Get a specific field from this table and coerce it totype, if this table knows its field references.<T> Field<T>field(int index, DataType<T> dataType)Get a specific field from this table and coerce it todataType, if this table knows its field references.Field<?>field(java.lang.String name)Get a specific field from this table, if this table knows its field references.<T> Field<T>field(java.lang.String name, java.lang.Class<T> type)Get a specific field from this table and coerce it totype, if this table knows its field references.<T> Field<T>field(java.lang.String name, DataType<T> dataType)Get a specific field from this table and coerce it todataType, if this table knows its field references.<T> Field<T>field(Field<T> field)Get a specific field from this table, if this table knows its field references.Field<?>field(Name name)Get a specific field from this table, if this table knows its field references.<T> Field<T>field(Name name, java.lang.Class<T> type)Get a specific field from this table and coerce it totype, if this table knows its field references.<T> Field<T>field(Name name, DataType<T> dataType)Get a specific field from this table and coerce it todataType, if this table knows its field references.Field<?>[]fields()Get all fields from this table, if this table knows its field references, or an empty array otherwise.Field<?>[]fields(int... fieldIndexes)Get all fields from this table, providing some field indexes, if this table knows its field references.Field<?>[]fields(java.lang.String... fieldNames)Get all fields from this table, providing some field names, if this table knows its field references.Field<?>[]fields(Field<?>... fields)Get all fields from this table, providing some fields, if this table knows its field references.Field<?>[]fields(Name... fieldNames)Get all fields from this table, providing some field names, if this table knows its field references.RowfieldsRow()Get this table's fields as aRow, if this table knows its field references.java.util.stream.Stream<Field<?>>fieldStream()Get this table's fields as aStream, if this table knows its field references.intindexOf(java.lang.String fieldName)Get a field's index from this table.intindexOf(Field<?> field)Get a field's index from this table.intindexOf(Name fieldName)Get a field's index from this table.
-
-
-
Method Detail
-
fieldsRow
Row fieldsRow()
Get this table's fields as aRow, if this table knows its field references.
-
fieldStream
java.util.stream.Stream<Field<?>> fieldStream()
Get this table's fields as aStream, if this table knows its field references.
-
field
<T> Field<T> field(Field<T> field)
Get a specific field from this table, if this table knows its field references.This will return:
- A field that is the same as the argument field (by identity comparison).
- A field that is equal to the argument field (exact matching fully qualified name).
- A field that is equal to the argument field (partially matching qualified name).
- A field whose name is equal to the name of the argument field.
nullotherwise.
- See Also:
Row.field(Field)
-
field
Field<?> field(java.lang.String name)
Get a specific field from this table, if this table knows its field references.- See Also:
Row.field(String)
-
field
<T> Field<T> field(java.lang.String name, java.lang.Class<T> type)
Get a specific field from this table and coerce it totype, if this table knows its field references.- See Also:
Row.field(String, Class)
-
field
<T> Field<T> field(java.lang.String name, DataType<T> dataType)
Get a specific field from this table and coerce it todataType, if this table knows its field references.- See Also:
Row.field(String, DataType)
-
field
Field<?> field(Name name)
Get a specific field from this table, if this table knows its field references.- See Also:
Row.field(Name)
-
field
<T> Field<T> field(Name name, java.lang.Class<T> type)
Get a specific field from this table and coerce it totype, if this table knows its field references.- See Also:
Row.field(Name, Class)
-
field
<T> Field<T> field(Name name, DataType<T> dataType)
Get a specific field from this table and coerce it todataType, if this table knows its field references.- See Also:
Row.field(Name, DataType)
-
field
Field<?> field(int index)
Get a specific field from this table, if this table knows its field references.- See Also:
Row.field(int)
-
field
<T> Field<T> field(int index, java.lang.Class<T> type)
Get a specific field from this table and coerce it totype, if this table knows its field references.- See Also:
Row.field(int, Class)
-
field
<T> Field<T> field(int index, DataType<T> dataType)
Get a specific field from this table and coerce it todataType, if this table knows its field references.- See Also:
Row.field(int, DataType)
-
fields
Field<?>[] fields()
Get all fields from this table, if this table knows its field references, or an empty array otherwise.- See Also:
Row.fields()
-
fields
Field<?>[] fields(Field<?>... fields)
Get all fields from this table, providing some fields, if this table knows its field references.- Returns:
- All available fields
- See Also:
Row.fields(Field...)
-
fields
Field<?>[] fields(java.lang.String... fieldNames)
Get all fields from this table, providing some field names, if this table knows its field references.- Returns:
- All available fields
- See Also:
Row.fields(String...)
-
fields
Field<?>[] fields(Name... fieldNames)
Get all fields from this table, providing some field names, if this table knows its field references.- Returns:
- All available fields
- See Also:
Row.fields(Name...)
-
fields
Field<?>[] fields(int... fieldIndexes)
Get all fields from this table, providing some field indexes, if this table knows its field references.- Returns:
- All available fields
- See Also:
Row.fields(int...)
-
indexOf
int indexOf(Field<?> field)
Get a field's index from this table.- Parameters:
field- The field to look for- Returns:
- The field's index or
-1if the field is not contained in this table.
-
indexOf
int indexOf(java.lang.String fieldName)
Get a field's index from this table.- Parameters:
fieldName- The field name to look for- Returns:
- The field's index or
-1if the field is not contained in this table.
-
indexOf
int indexOf(Name fieldName)
Get a field's index from this table.- Parameters:
fieldName- The field name to look for- Returns:
- The field's index or
-1if the field is not contained in this table
-
asTable
@Support Table<R> asTable()
The underlying table representation of this object.This method is useful for things like
SELECT * FROM (SELECT * FROM x WHERE x.a = '1') WHERE ...
-
asTable
@Support Table<R> asTable(java.lang.String alias)
The underlying aliased table representation of this object.- See Also:
Table.as(String)
-
asTable
@Support Table<R> asTable(java.lang.String alias, java.lang.String... fieldAliases)
The underlying aliased table representation of this object.- See Also:
Table.as(String, String...)
-
asTable
@Support Table<R> asTable(java.lang.String alias, java.util.function.Function<? super Field<?>,? extends java.lang.String> aliasFunction)
The underlying aliased table representation of this object.- See Also:
Table.as(String, Function)
-
asTable
@Support Table<R> asTable(java.lang.String alias, java.util.function.BiFunction<? super Field<?>,? super java.lang.Integer,? extends java.lang.String> aliasFunction)
The underlying aliased table representation of this object.- See Also:
Table.as(String, BiFunction)
-
-