Package app.babylon.table.plans
Class TablePlanRead
- All Implemented Interfaces:
TablePlan
Reads rows into a
TableColumnar.
Example:
StreamSource streamSource = StreamSources.fromString("Code,Amount\nabc,10.5\n", "values.csv");
RowSource rowSource = RowSourceCsv.builder().withStreamSource(streamSource).withSeparator(',').build();
TableColumnar table = new TablePlanRead().withTableName(TableName.of("Trades")).execute(rowSource);
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexecute(StreamSource streamSource, TabularRowReader reader) Executes this plan against an already-open row supplier.Executes this plan against a configured row source.execute(TableColumnar table) execute(TableName tableName, TableDescription tableDescription, Column... columns) getColumnType(ColumnName columnName) protected TablePlanReadself()withColumnType(ColumnName columnName, Column.Type columnType) withColumnType(ColumnName columnName, Class<?> valueClass) withIncludeResourceName(ColumnName resourceName) withTransform(Transform transform) withTransforms(Transform... transforms) Methods inherited from class app.babylon.table.plans.TablePlanCommon
getTableDescription, getTableName, withTableDescription, withTableName
-
Constructor Details
-
TablePlanRead
public TablePlanRead()
-
-
Method Details
-
withIncludeResourceName
-
getResourceName
-
withTransform
-
withTransforms
-
getTransforms
-
withColumnType
-
withColumnType
-
getColumnType
-
getColumnTypes
-
execute
-
execute
public TableColumnar execute(TableName tableName, TableDescription tableDescription, Column... columns) -
execute
-
execute
-
execute
Description copied from interface:TablePlanExecutes this plan against an already-open row supplier.Use this lower-level entry point when the caller already owns the live source resource and wants to control its lifetime explicitly.
CSV example:
JDBC example:StreamSource streamSource = ...; TablePlanRead plan = new TablePlanRead(); try (InputStream inputStream = streamSource.openStream(); RowCursor rowCursor = RowCursorCsv.builder() .withSeparator(';') .build(inputStream)) { TableColumnar table = plan.execute(rowCursor); }PreparedStatement preparedStatement = ...; TablePlanRead plan = new TablePlanRead(); try (ResultSet resultSet = preparedStatement.executeQuery(); RowCursor rowCursor = new RowCursorResultSet(resultSet)) { TableColumnar table = plan.execute(rowCursor); }- Parameters:
rowCursor- open row supplier to consume- Returns:
- the resulting table
-
execute
Description copied from interface:TablePlanExecutes this plan against a configured row source.This is the simplest high-level entry point when the source should handle opening and closing its own row supplier internally.
CSV example:
JDBC example:StreamSource streamSource = ...; TablePlanRead plan = new TablePlanRead(); TableColumnar table = plan.execute(RowSourceCsv.builder() .withStreamSource(streamSource) .withSeparator(';') .build());PreparedStatement preparedStatement = ...; TablePlanRead plan = new TablePlanRead(); TableColumnar table = plan.execute(RowSourceResultSet.builder() .withPreparedStatement(preparedStatement) .build());- Parameters:
rowSource- configured source that opens rows for this execution- Returns:
- the resulting table
-
self
- Specified by:
selfin classTablePlanCommon<TablePlanRead>
-