Package app.babylon.table.plans
Class TablePlanAggregate
java.lang.Object
app.babylon.table.plans.TablePlanCommon<TablePlanAggregate>
app.babylon.table.plans.TablePlanAggregate
- All Implemented Interfaces:
TablePlan
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionExecutes this plan against an already-open row supplier.Executes this plan against a configured row source.execute(TableColumnar table) getColumnType(ColumnName columnName) protected TablePlanAggregateself()withAggregate(ColumnName sourceColumnName, Aggregate aggregate) withAggregate(ColumnName sourceColumnName, ColumnName outputColumnName, Aggregate aggregate) withColumnType(ColumnName columnName, Column.Type columnType) withGroupBy(ColumnName... columnNames) Methods inherited from class app.babylon.table.plans.TablePlanCommon
getTableDescription, getTableName, withTableDescription, withTableName
-
Constructor Details
-
TablePlanAggregate
public TablePlanAggregate()
-
-
Method Details
-
withColumnType
-
getColumnType
-
getColumnTypes
-
withGroupBy
-
getGroupByColumns
-
withAggregate
-
withAggregate
public TablePlanAggregate withAggregate(ColumnName sourceColumnName, ColumnName outputColumnName, Aggregate aggregate) -
getAggregateSpecs
-
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.
For CSV, open the input stream, create a
RowCursor, then pass that cursor to this method inside the caller's resource scope. For JDBC, execute the prepared statement, wrap the liveResultSetin a row cursor, and pass it to this method before closing the JDBC resources.- 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.
For CSV or JDBC, build an appropriate
RowSourceand pass it to this method. The row source owns the open/close lifecycle for each execution.- Parameters:
rowSource- configured source that opens rows for this execution- Returns:
- the resulting table
-
self
- Specified by:
selfin classTablePlanCommon<TablePlanAggregate>
-