Class PentahoTableDataFactory

  • All Implemented Interfaces:
    Serializable, Cloneable, org.pentaho.reporting.engine.classic.core.DataFactory, org.pentaho.reporting.engine.classic.core.DataFactoryDesignTimeSupport, org.pentaho.reporting.engine.classic.core.DataFactoryMetaProvider

    public class PentahoTableDataFactory
    extends org.pentaho.reporting.engine.classic.core.AbstractDataFactory
    The PentahoTableDataFactory class implements JFreeReport's data factory and manages the TableModels provided to JFreeReport. The primary difference between this class and JFreeReport's standard TableDataFactory is the "getTableIterator" method, which allows the Platform to clean up and table model resources after their use. Also, we support Pentaho's IPreparedComponent interface which allows a prepared component to generate a result set when requested.
    Author:
    Will Gorman
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.pentaho.reporting.engine.classic.core.AbstractDataFactory

        org.pentaho.reporting.engine.classic.core.AbstractDataFactory.DataRowWrapper
    • Field Summary

      • Fields inherited from interface org.pentaho.reporting.engine.classic.core.DataFactory

        QUERY_LIMIT, QUERY_SORT, QUERY_TIMEOUT
      • Fields inherited from interface org.pentaho.reporting.engine.classic.core.DataFactoryDesignTimeSupport

        DESIGN_TIME
    • Constructor Detail

      • PentahoTableDataFactory

        public PentahoTableDataFactory()
        default constructor
      • PentahoTableDataFactory

        public PentahoTableDataFactory​(String name,
                                       TableModel tableModel)
        constructor with one time call to addTable for convenience.
        Parameters:
        name - table name
        tableModel - instance of table model
    • Method Detail

      • addTable

        public void addTable​(String name,
                             TableModel tableModel)
        add a table to the map
        Parameters:
        name - table name
        tableModel - instance of table model
      • addPreparedComponent

        public void addPreparedComponent​(String name,
                                         org.pentaho.platform.api.data.IPreparedComponent component)
        add a prepared component to the map
        Parameters:
        name - prepared component name
        component - instance of prepared component
      • removeTable

        public void removeTable​(String name)
        remove a table from the map
        Parameters:
        name - table name
      • queryData

        public TableModel queryData​(String query,
                                    org.pentaho.reporting.engine.classic.core.DataRow parameters)
        Queries a datasource. The string 'query' defines the name of the query. The Parameterset given here may contain more data than actually needed.

        The dataset may change between two calls, do not assume anything!

        Parameters:
        query - the name of the table.
        parameters - are ignored for this factory.
        Returns:
        the report data or null.
      • close

        public void close()
      • closeTables

        public void closeTables()
      • derive

        public PentahoTableDataFactory derive()
        Derives a freshly initialized report data factory, which is independend of the original data factory. Opening or Closing one data factory must not affect the other factories.
        Specified by:
        derive in interface org.pentaho.reporting.engine.classic.core.DataFactory
        Overrides:
        derive in class org.pentaho.reporting.engine.classic.core.AbstractDataFactory
        Returns:
      • clone

        public PentahoTableDataFactory clone()
        Specified by:
        clone in interface org.pentaho.reporting.engine.classic.core.DataFactory
        Overrides:
        clone in class org.pentaho.reporting.engine.classic.core.AbstractDataFactory
      • getQueryNames

        public String[] getQueryNames()
      • isQueryExecutable

        public boolean isQueryExecutable​(String query,
                                         org.pentaho.reporting.engine.classic.core.DataRow parameters)
      • cancelRunningQuery

        public void cancelRunningQuery()
        Specified by:
        cancelRunningQuery in interface org.pentaho.reporting.engine.classic.core.DataFactory
        Overrides:
        cancelRunningQuery in class org.pentaho.reporting.engine.classic.core.AbstractDataFactory