-
- Type Parameters:
R
- The record type
- All Superinterfaces:
QueryPart
,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(String alias)
The underlying aliased table representation of this object.Table<R>
asTable(String alias, String... fieldAliases)
The underlying aliased table representation of this object.Table<R>
asTable(String alias, BiFunction<? super Field<?>,? super Integer,? extends String> aliasFunction)
The underlying aliased table representation of this object.Table<R>
asTable(String alias, Function<? super Field<?>,? extends 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, 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(String name)
Get a specific field from this table, if this table knows its field references.<T> Field<T>
field(String name, 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(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, 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(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.Row
fieldsRow()
Get this table's fields as aRow
, if this table knows its field references.Stream<Field<?>>
fieldStream()
Get this table's fields as aStream
, if this table knows its field references.int
indexOf(String fieldName)
Get a field's index from this table.int
indexOf(Field<?> field)
Get a field's index from this table.int
indexOf(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
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.
null
otherwise.
- See Also:
Row.field(Field)
-
field
Field<?> field(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(String name, 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(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, 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, 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(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
-1
if the field is not contained in this table.
-
indexOf
int indexOf(String fieldName)
Get a field's index from this table.- Parameters:
fieldName
- The field name to look for- Returns:
- The field's index or
-1
if 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
-1
if 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(String alias)
The underlying aliased table representation of this object.- See Also:
Table.as(String)
-
asTable
@Support Table<R> asTable(String alias, String... fieldAliases)
The underlying aliased table representation of this object.- See Also:
Table.as(String, String...)
-
asTable
@Support Table<R> asTable(String alias, Function<? super Field<?>,? extends String> aliasFunction)
The underlying aliased table representation of this object.- See Also:
Table.as(String, Function)
-
asTable
@Support Table<R> asTable(String alias, BiFunction<? super Field<?>,? super Integer,? extends String> aliasFunction)
The underlying aliased table representation of this object.- See Also:
Table.as(String, BiFunction)
-
-