Package org.jfree.report.flow

## Interface FlowController

- All Known Implementing Classes:
    `DefaultFlowController`

      public interface FlowController

  A flow-controller is an immutable object. Whenever an method, that may change the internal state of the controller, is invoked, a new instance of the controller is returned.
  Author:
    Thomas Morgner

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `FlowController` | `activateExpressions​(ExpressionSlot[] expressions)` | Activates expressions that compute running values.
    `FlowController` | `createPrecomputeInstance()` |
    `FlowController` | `deactivateExpressions()` |
    `ExpressionSlot[]` | `getActiveExpressions()` | Returns the current expression slots of all currently active expressions.
    `java.lang.String` | `getExportDescriptor()` |
    `GlobalMasterRow` | `getMasterRow()` |
    `PrecomputedValueRegistry` | `getPrecomputedValueRegistry()` |
    `ReportContext` | `getReportContext()` |
    `ReportJob` | `getReportJob()` |
    `boolean` | `isAdvanceRequested()` |
    `FlowController` | `performOperation​(FlowControlOperation operation)` |
    `FlowController` | `performQuery​(java.lang.String query)` |
    `FlowController` | `performReturnFromQuery()` |
    `FlowController` | `performSubReportQuery​(java.lang.String query, ParameterMapping[] inputParameters, ParameterMapping[] outputParameters)` |

- - ### Method Detail

    - #### performOperation

          FlowController performOperation​(FlowControlOperation operation)
                                   throws DataSourceException

      Throws:
        `DataSourceException`

    - #### getMasterRow

          GlobalMasterRow getMasterRow()

    - #### getReportContext

          ReportContext getReportContext()

    - #### getExportDescriptor

          java.lang.String getExportDescriptor()

    - #### isAdvanceRequested

          boolean isAdvanceRequested()

    - #### performQuery

          FlowController performQuery​(java.lang.String query)
                               throws ReportDataFactoryException,
                                      DataSourceException

      Throws:
        `ReportDataFactoryException`
        `DataSourceException`

    - #### performSubReportQuery

          FlowController performSubReportQuery​(java.lang.String query,
                                               ParameterMapping[] inputParameters,
                                               ParameterMapping[] outputParameters)
                                        throws ReportDataFactoryException,
                                               DataSourceException

      Throws:
        `ReportDataFactoryException`
        `DataSourceException`

    - #### activateExpressions

          FlowController activateExpressions​(ExpressionSlot[] expressions)
                                      throws DataSourceException

      Activates expressions that compute running values. This does not activate precomputed expressions.
      Parameters:
        `expressions` -
      Returns:
      Throws:
        `DataSourceException`

    - #### getActiveExpressions

          ExpressionSlot[] getActiveExpressions()
                                         throws DataSourceException

      Returns the current expression slots of all currently active expressions. (Maybe we should limit the access to the name and value of the expression instead?)
      Returns:
      Throws:
        `DataSourceException`

    - #### deactivateExpressions

          FlowController deactivateExpressions()
                                        throws DataSourceException

      Throws:
        `DataSourceException`

    - #### getReportJob

          ReportJob getReportJob()

    - #### performReturnFromQuery

          FlowController performReturnFromQuery()
                                         throws DataSourceException

      Throws:
        `DataSourceException`

    - #### createPrecomputeInstance

          FlowController createPrecomputeInstance()
                                           throws DataSourceException

      Throws:
        `DataSourceException`

    - #### getPrecomputedValueRegistry

          PrecomputedValueRegistry getPrecomputedValueRegistry()