Package org.apache.calcite.adapter.java
Class ReflectiveSchema.ReflectiveTable
- java.lang.Object
-
- org.apache.calcite.schema.impl.AbstractTable
-
- org.apache.calcite.adapter.java.AbstractQueryableTable
-
- org.apache.calcite.adapter.java.ReflectiveSchema.ReflectiveTable
-
- All Implemented Interfaces:
QueryableTable
,ScannableTable
,Table
,Wrapper
- Direct Known Subclasses:
ReflectiveSchema.FieldTable
- Enclosing class:
- ReflectiveSchema
private static class ReflectiveSchema.ReflectiveTable extends AbstractQueryableTable implements Table, ScannableTable
Table that is implemented by reading from a Java object.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.reflect.Type
elementType
private Enumerable
enumerable
-
Constructor Summary
Constructors Constructor Description ReflectiveTable(java.lang.reflect.Type elementType, Enumerable enumerable)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> Queryable<T>
asQueryable(QueryProvider queryProvider, SchemaPlus schema, java.lang.String tableName)
Converts this table into aQueryable
.RelDataType
getRowType(RelDataTypeFactory typeFactory)
Returns this table's row type.Statistic
getStatistic()
Returns a provider of statistics about this table.Enumerable<java.lang.Object[]>
scan(DataContext root)
Returns an enumerator over the rows in this Table.-
Methods inherited from class org.apache.calcite.adapter.java.AbstractQueryableTable
getElementType, getExpression
-
Methods inherited from class org.apache.calcite.schema.impl.AbstractTable
getJdbcTableType, isRolledUp, rolledUpColumnValidInsideAgg, unwrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.calcite.schema.Table
getJdbcTableType, isRolledUp, rolledUpColumnValidInsideAgg
-
-
-
-
Field Detail
-
elementType
private final java.lang.reflect.Type elementType
-
enumerable
private final Enumerable enumerable
-
-
Constructor Detail
-
ReflectiveTable
ReflectiveTable(java.lang.reflect.Type elementType, Enumerable enumerable)
-
-
Method Detail
-
getRowType
public RelDataType getRowType(RelDataTypeFactory typeFactory)
Description copied from interface:Table
Returns this table's row type.This is a struct type whose fields describe the names and types of the columns in this table.
The implementer must use the type factory provided. This ensures that the type is converted into a canonical form; other equal types in the same query will use the same object.
- Specified by:
getRowType
in interfaceTable
- Parameters:
typeFactory
- Type factory with which to create the type- Returns:
- Row type
-
getStatistic
public Statistic getStatistic()
Description copied from interface:Table
Returns a provider of statistics about this table.- Specified by:
getStatistic
in interfaceTable
- Overrides:
getStatistic
in classAbstractTable
-
scan
public Enumerable<java.lang.Object[]> scan(DataContext root)
Description copied from interface:ScannableTable
Returns an enumerator over the rows in this Table. Each row is represented as an array of its column values.- Specified by:
scan
in interfaceScannableTable
-
asQueryable
public <T> Queryable<T> asQueryable(QueryProvider queryProvider, SchemaPlus schema, java.lang.String tableName)
Description copied from interface:QueryableTable
Converts this table into aQueryable
.- Specified by:
asQueryable
in interfaceQueryableTable
-
-