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) 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
-
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>
-