#ifndef ROWVIEW_H #define ROWVIEW_H #include #include "rowProcessor.h" #include "view.h" #include "aggregate.h" /// Project2 component to create output based on a records in a row set class RowView : public View, public RowProcessor { public: RowView(ScriptNodePtr); virtual ~RowView(); void loadComplete(const CommonObjects *); void execute(const MultiRowSetPresenter *, ExecContext *) const; void rowReady(const RowState *, const MultiRowSetPresenter *, ExecContext *, bool & found) const; const Variable rootName; const Variable recordName; const Variable required; const Variable isObject; protected: typedef std::map Columns; Columns viewColumns; void executeChildren(const MultiRowSetPresenter * presenter, ExecContext *) const; typedef ANONORDEREDSTORAGEOF(View) SubViews; SubViews subViews; typedef ANONSTORAGEOF(ValueAggregate) ValueAggregates; ValueAggregates valueAggregates; typedef ANONSTORAGEOF(SetAggregate) SetAggregates; SetAggregates setAggregates; }; #endif