Class QbReport

java.lang.Object
quadbase.reportdesigner.ReportAPI.QbReport
All Implemented Interfaces:
quadbase.common.util.IAlertable, IExportConstants, IReport, quadbase.reportdesigner.util.IReportPropertiesConstants, IReportTypeConstants
Direct Known Subclasses:
DrillDownReport, SubReport

public class QbReport extends Object implements IReportTypeConstants, IExportConstants, quadbase.reportdesigner.util.IReportPropertiesConstants, IReport, quadbase.common.util.IAlertable
A QbReport Object holds all information about the entire flow of data from a data source to a formatted display of data as a report. It is important to note that the RPT file itself does NOT contain the data. It contains only the information about a specified data source and the report template information (i.e., the look and feel of the report). For a programming guide on how to create reports using the API, please reference the Programming API Guide.

CREATING A NEW REPORT

To create a new report, a user must specify the report type, the input data source information, and a mapping of the data columns. If the report is used in an applet, the applet handle must also be specified. Data may be obtained either from a database, a data file, or directly as an Object.

One way to load in data when constructing the QbReport Object is to specify the DBInfo for the Constructor:

    QbReport report = new QbReport(applet, //a handle to an applet for viewing
      QbReport.COLUMNAR, //this is a Columnar type QbReport
      dbinfo, //DBInfo Object that sets the connection information to a database to retrieve data
      colInfo, //a data mapping between the data from the database to the data for displaying in the report
      template); //you can also specify a template to use here, or use null otherwise

where colInfo is setup to map 1 to 1 with the database data like so:

    ColInfo colInfo[] = new ColInfo[6]; //the data will contain 6 columns
    for (int i = 0; i invalid input: '<' colInfo.length; i++)
      colInfo[i] = new colInfo(i); //map same column between source data and report data

and dbinfo contains the information about how to connect to a database:

    DBInfo dbinfo = new DBInfo(
      "jdbc:"jdbc:quadbase:/machine/schema", // URL
      "quadbase.jdbc.QbDriver", // JDBC driver
      "myName", // username
      "myPassword", // password
      "select * from sales"); // SQL

and template is a String that specifies the location of a .rpt template file:

    String template = "templates/Columnar.rpt";

Several report types are available, as enumerated in the interface

invalid reference
IReportTypeConstants
.

ADDING ELEMENTS TO A REPORT

After a report is created, you may add elements to the report by getting a handle to the section (report.getPageHeader() gets the header section of the report) of the report that you want to add the element to and invoking the addData() method. An element of the report is a class that extends the ReportElement class. The following code adds an image to the report by adding a ReportImage Object (holds information about the image) to the header of the report:

    ReportImage reportImage = new ReportImage();
    try {
      reportImage.setImageType(IExportConstants.GIF);
      java.net.URL imageLocation = new java.net.URL("http://host/gifs/logo.gif");
      reportImage.setImageURL(imageLocation);

    catch (Exception e) {...;} //handle exceptions
    report.getPageHeader().addData(reportImage); //adds the ReportImage Object to the header of the report

EXPORTING A REPORT

A report may be exported to either a proprietary RPT format, or any of the common export formats (including CSV, PDF and HTML), using one of the export() methods of the QbReport class. The constants to specify which format to export as are enumerated in the interface

invalid reference
IExportConstants
. A report object can be re-created from a RPT format.

A RPT format contains all report attributes except the data itself, which is reloaded from the original data source at the time of creation.

VIEWING A REPORT

To view a report in an applet or application, simply obtain a Component Object from a Report Viewer (quadbase.reportdesigner.ReportViewer.Viewer):

    Component component = new Viewer().getComponent(report);

and put the Component in a Frame:

    frame.add("Center", component); frame.setVisible(true);

MISCELLANEOUS

In its default mode, a report component uses the services of the EspressManager server to read/write files. This is especially necessary when the report is being used within an applet, in which case direct read/write access to files may be disabled for security reasons, and ODBC drivers (if any) are unavailable on the client. The EspressManager server is located (by an IP address and socket port) using a file called "espressmanager.cfg" first created in the installation directory of the EspressReport, which is assumed to exist in the same directory as the code base of the applet, or the current directory of the application. If this configuration file is not present, the default host is 127.0.0.1 = localhost and the default port number is 22071.

However, a report can also be configured to run without the help of the EspressManger server (using the method setEspressManagerUsed(false). This mode can be used in an application, where there are no security restrictions for direct file I/O and database access. In such a case, the report attempts to read and write files, and load database drivers directly.

  • Field Details

    • DATABASESOURCE

      public static final int DATABASESOURCE
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • DATAFILESOURCE

      public static final int DATAFILESOURCE
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • QUADBASEXMLFILESOURCE

      public static final int QUADBASEXMLFILESOURCE
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • CLASSFILESOURCE

      public static final int CLASSFILESOURCE
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • XMLFILEQUERYSOURCE

      public static final int XMLFILEQUERYSOURCE
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • EJBSOURCE

      public static final int EJBSOURCE
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • MEMORYDATASOURCE

      public static final int MEMORYDATASOURCE
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • SOAPDATASOURCE

      public static final int SOAPDATASOURCE
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • SALESFORCESOURCE

      public static final int SALESFORCESOURCE
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • EXCELSOURCE

      public static final int EXCELSOURCE
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • MULTIPLEDATASOURCES

      public static final int MULTIPLEDATASOURCES
      One of the constants returned by the method getDataSourceType() that specifies a type of data source.
      See Also:
    • DATAFILE

      public static final int DATAFILE
      See Also:
    • QUERYFILE

      public static final int QUERYFILE
      See Also:
    • XMLFILE

      public static final int XMLFILE
      See Also:
    • CLASSFILE

      public static final int CLASSFILE
      See Also:
    • OLAPRESULTSET

      public static final int OLAPRESULTSET
      See Also:
    • PORTRAIT

      public static final int PORTRAIT
      Portrait orientation of the report.
      See Also:
    • LANDSCAPE

      public static final int LANDSCAPE
      landscape orientation of the report.
      See Also:
    • PLAIN

      public static final int PLAIN
      See Also:
    • BOLD

      public static final int BOLD
      See Also:
    • ITALIC

      public static final int ITALIC
      See Also:
    • BOLDITALIC

      public static final int BOLDITALIC
      See Also:
    • report

      public quadbase.reportdesigner.report.Report report
      internal use only
    • subReports

      protected Vector<SubReportObject> subReports
      internal use only
  • Constructor Details

    • QbReport

      public QbReport()
      internal use only Create an empty QbReport object and initialize components to be empty. Default constructor.
    • QbReport

      public QbReport(Object parent, byte[] reportData)
      Create a QbReport object from a byte array object containing a QbReport object.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportData - QbReport object in the byte array format
    • QbReport

      public QbReport(QbReport qbreport)
      Create a QbReport object from a QbReport object
      Parameters:
      qbreport - the QbReport object to be duplicated.
    • QbReport

      public QbReport(QbReport qbreport, boolean reUseTable)
      Create a QbReport object from a QbReport object
      Parameters:
      qbreport - the QbReport object to be duplicated.
      reUseTable - do not create new table/ columns and rebuild table structure
    • QbReport

      public QbReport(Object parent, byte[] reportData, boolean optimizeMemory)
      Create a QbReport object from a byte array object containing a QbReport object.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportData - QbReport object in the byte array format
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.). Optimize memory has been replaced by the Record File Export. Use QbReport.setMaxRecordInMemory(int r) instead.
    • QbReport

      public QbReport(Object parent, byte[] reportData, boolean optimizeMemory, boolean multiPageExp)
      Create a QbReport object from a byte array object containing a QbReport object.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportData - QbReport object in the byte array format
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.). Optimize memory has been replaced by the Record File Export. Use QbReport.setMaxRecordInMemory(int r) instead.
      multiPageExp - whether HTML/DHTML exports are done at 1 page per file basis. Default is false.
    • QbReport

      public QbReport(Object parent, byte[] reportData, Properties props)
      Create a QbReport object from a byte array object containing a QbReport object.

      Property Name Possible Values
      QbReport.PROPS_OPTIMIZE_MEMORY "true" or "false". Default is "false".
      QbReport.PROPS_MULTIPAGE_EXPORT "true" or "false". Default is "false".
      QbReport.PROPS_SECURITY_LEVEL name of security level. Default is null.
      QbReport.PROPS_USE_BACKUP_DATA "true" or "false". Default is "false".
      QbReport.PROPS_DATA_SORTED "true" or "false". Default is "false".
      QbReport.PROPS_SIDE_BY_SIDE_LAYOUT "true" or "false". Default is "false".
      QbReport.PROPS_ENTERPRISE_SERVER "true" or "false". Default is "false".
      QbReport.PROPS_PROMPT_PARAMETER "true" or "false". Default is "true".
      QbReport.PROPS_TRANSPOSE "true" or "false". Default is "false".
      QbReport.PROPS_TRANSPOSED_COLUMN name of transposed column. Default is null.
      QbReport.PROPS_RELATIVE_DOMAIN_PATH relative domain path. Default is null.
      QbReport.PROPS_REPORT_STYLE report style. Default is null.
      Crosstab Report Properties
      QbReport.PROPS_CROSSTAB_FREE_FORM "true" or "false". Default is "true".
      QbReport.PROPS_GENERATE_CROSSTAB_GRANDTOTAL_COLUMN "true" or "false". Default is "true".
      QbReport.PROPS_GENERATE_CROSSTAB_SUBTOTAL_COLUMN "true" or "false". Default is "true".
      QbReport.PROPS_CROSSTAB_SUBTOTAL_COLUMN_POSITION_LEFT "true" or "false". Default is "false".
      QbReport.PROPS_GENERATE_CROSSTAB_FORMULAS "true" or "false". Default is "true".
      QbReport.PROPS_CROSSTAB_FORMULA_IN_HEADER "true" or "false". Default is "false".
      QbReport.PROPS_CROSSTAB_COLUMN_BREAK_VALUE_ALIGNED_HORIZONTALLY "true" or "false". Default is "true".


      Descriptions:
      optimize memory whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.).
      multi-page export Specify rather to export HTML and DHTML to multiple pages.
      security level Specify the security level for this report.
      use backup data Whether only the 2 rows per table of saved data would be used to construct the QbReport object. If true, the refreshWithOriginalData() method can be called to get all data.
      data sorted Specify rather the SQL query will retrieve sorted data. If data is sorted, the report can be constructed more efficiently.
      side by side layout Only applicable to a MasterDetails report. If true, the master section will be next to the data rows instead of being in the group header.
      enterprise server if true and needed, the prompt dialog for parameterized query parameters would only pop up on client side. Otherwise, pops up on both sides. Default value is false.
      prompt parameter prompts client to enter value for parameterized query parameters if true. Default is true.

      Crosstab Report Properties Descriptions:

      Crosstab Free Form whether to use Free Form or Fixed-field Crosstab Report style.
      Generate Crosstab Grandtotal Column whether to generate Grandtotal column in the report.
      Generate Crosstab Subtotal Column whether to generate Subtotal column in the report.
      Crosstab Subtotal Column Position Left whether to show Subtotal column on the left or right.
      Generate Crosstab Formulas whether to generate crosstab formulas.
      Crosstab Formulas In Header whether to show formulas in table header or table footer.
      Crosstab Column Break Value Aligned Horizontally whether to Column Break Value will be aligned horizontally or vertically.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportData - the bytes from the report file
      props - properties for constructing this report.
    • QbReport

      public QbReport(Object parent, byte[] reportData, Object[] parameters, Properties props)
      Create a QbReport object from a byte array object containing a QbReport object.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportData - the bytes from the report file
      parameters - Object array containing the parameter value objects in the same sequence as they appear in the query statement
      props - properties for constructing this report
      See Also:
    • QbReport

      public QbReport(Object parent, byte[] reportData, Object[] parameters, Properties props, Hashtable<String,byte[]> rptTable)
      internal use only
    • QbReport

      public QbReport(Object parent, int reportType, XMLFileQueryInfo xmlInfo, ColInfo[] mapping, String template, boolean sideBySideLayout)
      Create a QbReport object from XML data.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      xmlInfo - object that specifies how the xml data is used.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
    • QbReport

      public QbReport(Object parent, int reportType, XMLFileQueryInfo xmlInfo, ColInfo[] mapping, String template, Properties props)
      Create a QbReport object from XML data.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      xmlInfo - object that specifies how the xml data is used.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      props - properties for constructing this report.
      See Also:
    • QbReport

      public QbReport(Object parent, int reportType, EJBInfo ejbInfo, ColInfo[] mapping, String template)
      Create a QbReport object using the specified EJBInfo object, report type, column mapping information and template.
    • QbReport

      public QbReport(Object parent, int reportType, String jndiName, String homeName, String remoteName, String selectedMethodName, Object[] selectedMethodParamVal, ColInfo[] mapping, String template)
      Create a QbReport object by providing the following information of the EJB component: JNDI lookup name, home interface name, remote interface name selected home method, input parameters for the selected method.
    • QbReport

      public QbReport(Object parent, int reportType, String jndiName, String homeName, String remoteName, String selectedMethodName, Object[] selectedMethodParamVal, Hashtable<String,String> environment, ColInfo[] mapping, String template)
      Create a QbReport object by providing the following information of the EJB component: JNDI lookup name, home interface name, remote interface name selected home method, input parameters for the selected method and the server environment.
    • QbReport

      public QbReport(Object parent, int reportType, String jndiName, String homeName, String remoteName, String selectedMethodName, Object[] selectedMethodParamVal, Hashtable<String,String> environment, ColInfo[] mapping, String template, Properties props)
      Create a QbReport object by providing the following information of the EJB component: JNDI lookup name, home interface name, remote interface name, selected home method, input parameters for the selected method and the server environment.
      Parameters:
      parent -
      reportType -
      jndiName -
      homeName -
      remoteName -
      selectedMethodName -
      selectedMethodParamVal -
      environment -
      mapping -
      template -
      props -
      See Also:
    • QbReport

      public QbReport(Object parent, int reportType, quadbase.common.util.internal.ExcelFileInfo excelInfo, ColInfo[] mapping, String template, Properties props)
      Constructor to create a QbReport object using Excel data source.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      excelInfo - Excel data source information
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      props - properties for constructing this report.
      See Also:
    • QbReport

      public QbReport(Object parent, String fileName)
      Create a QbReport object from a report file.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
    • QbReport

      public QbReport(Object parent, String fileName, boolean isEnterpriseServer)
      Create a QbReport object from a report file.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the rpt file to use
      isEnterpriseServer - if true and needed, the prompt dialog for parameterized query parameters would only pop up on client side. Otherwise, pops up on both sides. Default value is false.
    • QbReport

      public QbReport(Object parent, String fileName, boolean isEnterpriseServer, boolean optimizeMemory)
      Create a QbReport object from a report file..
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      isEnterpriseServer - if true and needed, the prompt dialog for parameterized query parameters would only pop up on client side. Otherwise, pops up on both sides. Default value is false.
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.). Optimize memory has been replaced by the Record File Export. Use QbReport.setMaxRecordInMemory(int r) instead.
    • QbReport

      public QbReport(Object parent, String fileName, boolean isEnterpriseServer, boolean optimizeMemory, boolean multiPageExp)
      Create a QbReport object from a report file.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      isEnterpriseServer - if true and needed, the prompt dialog for parameterized query parameters would only pop up on client side. Otherwise, pops up on both sides. Default value is false.
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.). Optimize memory has been replaced by the Record File Export. Use QbReport.setMaxRecordInMemory(int r) instead.
      multiPageExp - whether HTML/DHTML exports are done at 1 page per file basis. Default is false.
    • QbReport

      public QbReport(Object parent, String fileName, boolean isEnterpriseServer, boolean optimizeMemory, boolean multiPageExp, boolean useBackupData)
      Create a QbReport object from a report file.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      isEnterpriseServer - if true and needed, the prompt dialog for parameterized query parameters would only pop up on client side. Otherwise, pops up on both sides. Default value is false.
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.). Optimize memory has been replaced by the Record File Export. Use QbReport.setMaxRecordInMemory(int r) instead.
      multiPageExp - whether HTML/DHTML exports are done at 1 page per file basis. Default is false.
      useBackupData - whether only the 2 rows per table of saved data would be used to construct the QbReport object. Default is false. If true, the refreshWithOriginalData() method can be called to get all data.
    • QbReport

      public QbReport(Object parent, String fileName, boolean isEnterpriseServer, boolean optimizeMemory, boolean multiPageExp, boolean useBackupData, boolean promptParamValue)
      Create a QbReport object from a report file.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      isEnterpriseServer - if true and needed, the prompt dialog for parameterized query parameters would only pop up on client side. Otherwise, pops up on both sides. Default value is false.
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.). Optimize memory has been replaced by the Record File Export. Use QbReport.setMaxRecordInMemory(int r) instead.
      multiPageExp - whether HTML/DHTML exports are done at 1 page per file basis. Default is false.
      useBackupData - whether only the 2 rows per table of saved data would be used to construct the QbReport object. Default is false. If true, the refreshWithOriginalData() method can be called to get all data.
      promptParamValue - Prompt client to enter value for parameterized query parameters if true. Default is true.
    • QbReport

      public QbReport(Object parent, String fileName, boolean isEnterpriseServer, boolean optimizeMemory, boolean multiPageExp, boolean useBackupData, boolean promptParamValue, String relativeDomainPath)
      Create a QbReport object from a report file.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      isEnterpriseServer - if true and needed, the prompt dialog for parameterized query parameters would only pop up on client side. Otherwise, pops up on both sides. Default value is false.
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.). Optimize memory has been replaced by the Record File Export. Use QbReport.setMaxRecordInMemory(int r) instead.
      multiPageExp - whether HTML/DHTML exports are done at 1 page per file basis. Default is false.
      useBackupData - whether only the 2 rows per table of saved data would be used to construct the QbReport object. Default is false. If true, the refreshWithOriginalData() method can be called to get all data.
      promptParamValue - Prompt client to enter value for parameterized query parameters if true. Default is true.
      relativeDomainPath - Relative domain path.
    • QbReport

      public QbReport(Object parent, String fileName, Object[] parameters)
      Create a QbReport object from a report file with parameterized query.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      parameters - Object array containing the parameter value objects in the same sequence as they appear in the query statement
    • QbReport

      public QbReport(Object parent, String fileName, Object[] queryParameters, Object[] formulaParameters)
      Create a QbReport object from a report file with parameterized query invalid input: '&' formula.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      queryParameters - Object array containing the parameter value objects in the same sequence as they appear in the query statement
      formulaParameters - Object array containing the parameter value objects in the same sequence as they appear in formulae
    • QbReport

      public QbReport(Object parent, String fileName, Properties props)
      Create a QbReport object from an existing report file.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      props - properties for constructing this report.
      See Also:
    • QbReport

      public QbReport(Object parent, String fileName, Object[] queryParameters, Object[] formulaParameters, Properties props)
      Create a QbReport object from an existing report file.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      queryParameters - Object array containing the parameter value objects in the same sequence as they appear in the query statement
      formulaParameters - Object array containing the parameter value objects in the same sequence as they appear in formula
      props - properties for constructing this report.
      See Also:
    • QbReport

      public QbReport(Object parent, String fileName, Object req)
      Create a QbReport object from a report file with parameterized query.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      req - If the report has a parameterized query, use this HttpServletRequest Object to get parameters
    • QbReport

      public QbReport(Object parent, String fileName, Object req, int order, Object[] paramValues)
      internal use only
    • QbReport

      public QbReport(Object parent, String fileName, Object req, int order, Object[] paramValues, quadbase.reportdesigner.report.DrillDownNode node)
    • QbReport

      public QbReport(Object parent, String fileName, byte[] reportData, Object req)
      Create a QbReport object from a report file with parameterized query.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      fileName - location invalid input: '&' name of the report file with the file extension (.pak, .rpt, etc) to use
      reportData - QbReport object in the byte array format
      req - If the report has a parameterized query, use this HttpServletRequest Object to get parameters
    • QbReport

      public QbReport(Object parent, String fileName, byte[] reportData, Object req, int order, Object[] paramValues)
      internal use only
    • QbReport

      public QbReport(Object parent, String fileName, byte[] reportData, Object req, int order, Object[] paramValues, quadbase.reportdesigner.report.DrillDownNode node)
    • QbReport

      public QbReport(Object parent, String fileName, byte[] reportData, Object req, Hashtable<String,byte[]> rptTable)
      internal use only
    • QbReport

      public QbReport(Object parent, String fileName, byte[] reportData, Object req, Hashtable<String,byte[]> rptTable, int order, Object[] paramValues)
    • QbReport

      public QbReport(Object parent, String fileName, byte[] reportData, Object req, Hashtable<String,byte[]> rptTable, int order, Object[] paramValues, quadbase.reportdesigner.report.DrillDownNode node)
      internal use only
    • QbReport

      public QbReport(Object parent, int reportType, IDatabaseInfo dbinfo, ColInfo[] mapping, String template)
      Create a QbReport object from database data.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      dbinfo - object that specifies database information, user information invalid input: '&' query statement.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
    • QbReport

      public QbReport(Object parent, int reportType, IDatabaseInfo dbinfo, ColInfo[] mapping, String template, boolean sideBySideLayout)
      Create a QbReport object from database data.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      dbinfo - object that specifies database information, user information invalid input: '&' query statement.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
    • QbReport

      @Deprecated public QbReport(Object parent, int reportType, IDatabaseInfo dbinfo, ColInfo[] mapping, String template, boolean sideBySideLayout, boolean optimizeMemory)
      Deprecated.
      optimize memory export has been replaced by the Record File Export. Use QbReport(Object parent, int reportType, IDatabaseInfo dbinfo, ColInfo[] mapping, String template, Properties props) constructor instead.
      Create a QbReport object from database data.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      dbinfo - object that specifies database information, user information invalid input: '&' query statement.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.).
    • QbReport

      public QbReport(Object parent, int reportType, IDatabaseInfo dbinfo, ColInfo[] mapping, String template, Properties props)
      Create a QbReport object from database data.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      dbinfo - object that specifies database information, user information invalid input: '&' query statement.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      props - properties for constructing this report.
      See Also:
    • QbReport

      public QbReport(Object parent, int reportType, IDatabaseInfo dbinfo, ColInfo[] mapping, String template, boolean sideBySideLayout, boolean optimizeMemory, boolean multiPageExp)
      Create a QbReport object from database data.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      dbinfo - object that specifies database information, user information invalid input: '&' query statement.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.). Optimize memory has been replaced by the Record File Export. Use QbReport.setMaxRecordInMemory(int r) instead.
      multiPageExp - whether HTML/DHTML exports are done at 1 page per file basis. Default is false.
    • QbReport

      public QbReport(Object parent, int reportType, String dataFile, ColInfo[] mapping, String template)
      Create a QbReport object with data from a datafile.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      dataFile - location invalid input: '&' name of the datafile to use.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
    • QbReport

      public QbReport(Object parent, int reportType, String dataFile, ColInfo[] mapping, String template, boolean sideBySideLayout)
      Create a QbReport object with data from a datafile.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      dataFile - location invalid input: '&' name of the datafile to use.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
    • QbReport

      public QbReport(Object parent, int reportType, int fileType, String filename, ColInfo[] mapping, String template)
      Create a QbReport object with data from a datafile, datasource class, xml datafile, or queryfile.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      fileType - QbReport.CLASSFILE, QbReport.DATAFILE or QbReport.XMLFILE
      filename - location invalid input: '&' name of the datafile to use.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
    • QbReport

      public QbReport(Object parent, int reportType, int fileType, String filename, ColInfo[] mapping, String template, boolean sideBySideLayout)
      Create a QbReport object with data from a datafile, datasource class, xml datafile, or queryfile.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      fileType - QbReport.CLASSFILE, QbReport.DATAFILE or QbReport.XMLFILE
      filename - location invalid input: '&' name of the datafile to use.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
    • QbReport

      public QbReport(Object parent, int reportType, int fileType, String filename, ColInfo[] mapping, String template, Properties props)
      Create a QbReport object with data from a datafile, datasource class, xml datafile, or queryfile.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      fileType - QbReport.CLASSFILE, QbReport.DATAFILE or QbReport.XMLFILE
      filename - location invalid input: '&' name of the datafile to use.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      props - properties for constructing this report.
      See Also:
    • QbReport

      public QbReport(Object parent, int reportType, String connectionString, String MDXQuery, String template, Properties props, short aggrValForValueCol)
    • QbReport

      public QbReport(Object parent, int reportType, String uri, String datasource, String catalog, String MDXQuery, String template, Properties props, short aggrValForValueCol)
    • QbReport

      public QbReport(Object parent, int reportType, quadbase.reportdesigner.util.IOLAPResultSet olapRS, String template, Properties props, short aggrValForValueCol)
    • QbReport

      public QbReport(Object parent, int reportType, String connectionString, String MDXQuery, String template, Properties props, short aggrValForValueCol, boolean[] rowBreakAggrIncluded, boolean[] colBreakAggrIncluded)
    • QbReport

      public QbReport(Object parent, int reportType, String uri, String datasource, String catalog, String MDXQuery, String template, Properties props, short aggrValForValueCol, boolean[] rowBreakAggrIncluded, boolean[] colBreakAggrIncluded)
    • QbReport

      public QbReport(Object parent, int reportType, quadbase.reportdesigner.util.IOLAPResultSet olapRS, String template, Properties props, short aggrValForValueCol, boolean[] rowBreakAggrIncluded, boolean[] colBreakAggrIncluded)
    • QbReport

      public QbReport(Object parent, int reportType, IResultSet data, ColInfo[] mapping, String template)
      Create a QbReport object with data from an implemented IResultSet object--DbData.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      data - the IResultSet implementation object to use for data, eg DbData.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
    • QbReport

      public QbReport(Object parent, int reportType, IResultSet data, ColInfo[] mapping, String template, boolean sideBySideLayout)
      Create a QbReport object with data from an implemented IResultSet object--DbData.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      data - the IResultSet implementation object to use for data, eg DbData.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
    • QbReport

      public QbReport(Object parent, int reportType, IResultSet data, ColInfo[] mapping, String template, boolean sideBySideLayout, boolean isDataSorted)
      Create a QbReport object with data from an implemented IResultSet object--DbData.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      data - the IResultSet implementation object to use for data, eg DbData.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
      isDataSorted - whether data is already sorted--saves memory resource to sort data again.
    • QbReport

      public QbReport(Object parent, int reportType, IResultSet data, ColInfo[] mapping, String template, boolean sideBySideLayout, boolean isDataSorted, boolean optimizeMemory)
      Create a QbReport object with data from an implemented IResultSet object--DbData.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      data - the IResultSet implementation object to use for data, eg DbData.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
      isDataSorted - whether data is already sorted--saves memory resource to sort data again.
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. Optimize memory has been replaced by the Record File Export. Use QbReport.setMaxRecordInMemory(int r) instead.
    • QbReport

      public QbReport(Object parent, int reportType, IResultSet data, ColInfo[] mapping, String template, boolean sideBySideLayout, boolean isDataSorted, boolean optimizeMemory, Object[] distinctValue)
      Create a QbReport object with data from an implemented IResultSet object--DbData.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      data - the IResultSet implementation object to use for data, eg DbData.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
      isDataSorted - whether data is already sorted--saves memory resource to sort data again.
      optimizeMemory - whether data from database would get obtained in chunks to save memory resource. Default is false. Optimize memory has been replaced by the Record File Export. Use QbReport.setMaxRecordInMemory(int r) instead.
      distinctValue - Distinct value Object array for CrossTab report, used when optimize memory is set to true
    • QbReport

      public QbReport(Object parent, int reportType, IResultSet data, ColInfo[] mapping, String template, Properties props)
      Create a QbReport object with data from an implemented IResultSet object--DbData.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      data - the IResultSet implementation object to use for data, eg DbData.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      props - properties for constructing this report.
      See Also:
    • QbReport

      public QbReport(Object parent, int reportType, IResultSet data, ColInfo[] mapping, String template, Properties props, Object[] distinctValue)
      Create a QbReport object with data from an implemented IResultSet object--DbData.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      data - the IResultSet implementation object to use for data, eg DbData.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      props - properties for constructing this report.
      distinctValue - Distinct value Object array for CrossTab report, used when optimize memory is set to true
      See Also:
    • QbReport

      public QbReport(Object parent, int reportType, ISpreadSheetModel sheet, ColInfo[] mapping, String template)
      Create a QbReport object with data from an implemented ISpreadSheetModel object--SimpleSpreadSheet.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      sheet - the ISpreadSheetModel implementation object to use for data, eg SimpleSpreadSheet.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
    • QbReport

      public QbReport(Object parent, int reportType, ISpreadSheetModel sheet, ColInfo[] mapping, String template, boolean sideBySideLayout)
      Create a QbReport object with data from an implemented ISpreadSheetModel object--SimpleSpreadSheet.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      sheet - the ISpreadSheetModel implementation object to use for data, eg SimpleSpreadSheet.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
    • QbReport

      public QbReport(Object parent, int reportType, ISpreadSheetModel sheet, ColInfo[] mapping, String template, Properties props)
      Create a QbReport object with data from an implemented ISpreadSheetModel object--SimpleSpreadSheet.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      sheet - the ISpreadSheetModel implementation object to use for data, eg SimpleSpreadSheet.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      props - properties for constructing this report.
      See Also:
    • QbReport

      public QbReport(Object parent, int reportType, DataSheet[] dataSheet, ColInfo[] mapping, String template)
      Create a QbReport object with data from a DataSheet object.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      dataSheet - DataSheet object to use for data.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
    • QbReport

      public QbReport(Object parent, int reportType, DataSheet[] dataSheet, ColInfo[] mapping, String template, boolean sideBySideLayout)
      Create a QbReport object with data from a DataSheet object.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      dataSheet - DataSheet object to use for data.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      sideBySideLayout - whether side-by-side layout should be used in Master-Details reports
    • QbReport

      public QbReport(Object parent, int reportType, DataSheet[] dataSheet, ColInfo[] mapping, String template, Properties props)
      Create a QbReport object from DataSheet object.
      Parameters:
      parent - parent applet of type java.applet.Applet when viewed in Applets, null in applications
      reportType - QbReport.COLUMNAR, QbReport.CROSSTAB, QbReport.MAILINGLABELS, QbReport.MASTERDETAILS, or QbReport.SUMMARY
      dataSheet - DataSheet object to use for data.
      mapping - array of ColInfo objects that specifies data mapping.
      template - location invalid input: '&' name of template file to use, use "null" if none
      props - properties for constructing this report.
      See Also:
    • QbReport

      protected QbReport(quadbase.reportdesigner.report.Report r)
      For internal use only. Create a QbReport base on the given report object. This constructor does not set the 'drillDownTree' variable, it will remain null. This constructor is only used when creating drill-down reports.
  • Method Details

    • setDebugMode

      public static final void setDebugMode(int mode)
      Sets debug mode to print out debug statement. Relevant QbDebug values: DB_LINKED_SUBREPORT, PRELOAD_CHART, ERES_SCHEDULER_POOL, LICENSE, DVW_SEC_PARAM, REPLACE_SQL_COLUMN
    • setDebugMode

      public static final void setDebugMode(String mode)
      Sets debug mode to print out debug statement. Valid debug modes are: "DB_LINKED_SUBREPORT", "PRELOAD_CHART", "ERES_SCHEDULER_POOL", "LICENSE", "DVW_SEC_PARAM", "REPLACE_SQL_COLUMN
    • isForExportOnly

      @Deprecated public static boolean isForExportOnly()
      Deprecated.
      Returns whether QbReport is used only for exporting report
    • setForExportOnly

      @Deprecated public static void setForExportOnly(boolean state)
      Deprecated.
      use optimizeMemory argument in Constructor for same purpose
      Whether data from database would get obtained in chunks to save memory resource. Default is false. When using this method combined with exporting the report, the user assumes the risk of exporting the report correctly for reports that has inter-dependent parts (ex. linked sub-reports, etc.).
      Parameters:
      state - The new state. The default value is false.
    • getInputDataBlockSize

      public static int getInputDataBlockSize()
      Gets input data block size
      Returns:
      the number of rows processed at a time.
      See Also:
    • setInputDataBlockSize

      public static void setInputDataBlockSize(int val)
      This is a parameter that can be set when using optimized memory exporting. A data block consists of some number of rows of data. When using optimized memory export, two data blocks are used, one for loading data from the data source, another for getting data for exporting. Thus only two data blocks are stored in memory, achieving optimization.
      Parameters:
      val - The new value. The default value is 10000.
    • getMaxRecordInMemory

      public static int getMaxRecordInMemory()
      Gets the maximum number of records in memory when using record files to generate the report. If value = -1, load everything in memory (default)
    • setMaxRecordInMemory

      public static void setMaxRecordInMemory(int r)
      Sets the maximum number of records in memory when using record files to generate the report. If value = -1, load everything in memory (default) please call this method before calling QbReport constructor
    • getFileRecordBufferSize

      public static int getFileRecordBufferSize()
      Gets the number of records to store on disk at a time when using record file data to generate the report.
    • setFileRecordBufferSize

      public static void setFileRecordBufferSize(int r) throws Exception
      Sets the number of records to store on disk at a time when using record file data to generate the report (larger buffer results faster generating time) please call this method before calling QbReport constructor
      Throws:
      Exception
    • getMaxCharForRecordFile

      public static int getMaxCharForRecordFile()
      Gets the maximum number of characters for a record column when using record file to generate the report
    • setMaxCharForRecordFile

      public static void setMaxCharForRecordFile(int r) throws Exception
      Sets the maximum number of characters for a record column when using record file to generate the report (less characters for a record column results faster generating time) please call this method before calling QbReport constructor
      Throws:
      Exception
    • getPagingThreshold

      public static int getPagingThreshold()
      Gets threshold value (in MB) for enable paging feature if value = -1, load everything in memory (default)
    • setPagingThreshold

      public static void setPagingThreshold(int r)
      set threshold value (in MB) for enable paging feature if value = -1, load everything in memory (default)
    • getPageBufferSize

      public static int getPageBufferSize()
      Gets the page buffer size in memory (in MB) when using paging feature to generate the report/ chart
    • setPageBufferSize

      public static void setPageBufferSize(int r) throws Exception
      set the page buffer size in memory (in MB) when using paging feature to generate the report/ chart (larger buffer results faster generating time)
      Throws:
      Exception
    • getMaxFieldSize

      public static int getMaxFieldSize()
      Gets max number of character for record in column when using paging feature to generate the report/ chart
    • setMaxFieldSize

      public static void setMaxFieldSize(int r) throws Exception
      set max number of character for record in column when using paging feature to generate the report/ chart
      Throws:
      Exception
    • getTotalPageBufferSize

      public static int getTotalPageBufferSize()
      Gets the total page buffer size in memory (in MB) for server when using paging feature to generate the report/ chart
    • setTotalPageBufferSize

      public static void setTotalPageBufferSize(int r) throws Exception
      set the total page buffer size in memory (in MB) for server when using paging feature to generate the report/ chart (larger buffer results faster generating time)
      Throws:
      Exception
    • getTempDirectory

      public static String getTempDirectory()
      Gets temp directory for using record file to generate the report DEFAULT temp directory is "temp/"
    • setTempDirectory

      public static void setTempDirectory(String str)
      Sets temp directory for using record file to generate the report DEFAULT temp directory is "temp/"
    • isExportToMultiPages

      @Deprecated public static boolean isExportToMultiPages()
      Deprecated.
      Returns whether QbReport exports a separate file for each individual page in HTML and DHTML
    • setExportToMultiPages

      public static void setExportToMultiPages(boolean state)
      Sets whether the QbReport object is only used for exporting page by page HTML and DHTML.
      Parameters:
      state - The new state. The default value is false.
    • deleteViewFile

      public static void deleteViewFile(String viewFile)
      internal use only
    • getVersion

      public static String getVersion()
      Returns the EspressReport version
    • getUpdateVersion

      public static String getUpdateVersion()
    • isEspressManagerUsed

      public static boolean isEspressManagerUsed()
      Returns whether EspressManager is being used
    • setEspressManagerUsed

      public static void setEspressManagerUsed(boolean b)
      Sets whether EspressManager to be used
    • getQueryTimeout

      public static int getQueryTimeout()
      retrieves the number of seconds the driver will wait for a statement object to execute.
    • setQueryTimeout

      public static void setQueryTimeout(int seconds)
      Sets the number of seconds the driver will wait for a statement object to execute to the given number of seconds
    • setConnectURLForServer

      public static void setConnectURLForServer(String comm_url)
      Sets the URL for connecting to EspressManager
    • useHttp

      public static void useHttp(boolean b)
      Sets whether to use HTTP protocol to connect to EspressManager
    • refreshWithOriginalData

      public static void refreshWithOriginalData(quadbase.reportdesigner.report.Report report) throws Exception
      Refreshes the data from the original data source
      Throws:
      Exception
    • applyChartPathToAllCharts

      public static void applyChartPathToAllCharts(boolean b)
      apply chart path to all chart objects default: it only applies to those which are using report data
    • pack

      @Deprecated public static String pack(String filename) throws Exception
      Deprecated.
      Packs this QbReport, along with all information stored in the .rpt file as a .pak file. Returns the file name of the .pak file.
      Parameters:
      filename - the name of the .rpt file to pack
      Throws:
      Exception
    • pack

      @Deprecated public static String pack(String filename, String subReportPath, String drillDownPath, String chartPath) throws Exception
      Deprecated.
      Packs the report stored in the .rpt file along with its sub reports, drilldown reports, charts and images. Returns the file name of the .pak file.
      Parameters:
      filename - file name of the .rpt file to be packed.
      subReportPath - path name to any sub-report(s) associated with the .rpt file.
      drillDownPath - path name to any drill-down report(s) associated with the .rpt file.
      chartPath - path name to any chart(s) associated with all the report, sub-reports, drill-down report files.
      Throws:
      Exception
    • pack

      @Deprecated public static String pack(String filename, String relativeDomainPath) throws Exception
      Deprecated.
      Packs the report stored in the .rpt file along with its sub reports, drilldown reports, charts and images. Returns the file name of the .pak file.
      Parameters:
      filename - file name of the .rpt file to be packed.
      relativeDomainPath - path to the domain which contains directories for sub reports, drilldown reports and charts.
      Throws:
      Exception
    • pack

      @Deprecated public static String pack(String filename, String relativeDomainPath, boolean isEntpServer) throws Exception
      Deprecated.
      Packs the report stored in the .rpt file along with its sub reports, drilldown reports, charts and images. Returns the file name of the .pak file.
      Parameters:
      filename - file name of the .rpt file to be packed.
      relativeDomainPath - path to the domain which contains directories for sub reports, drilldown reports and charts.
      isEntpServer - is this method to be called from server or client
      Throws:
      Exception
    • unpack

      @Deprecated public static void unpack(String pakfilename, String filename, String relativeDomainPath) throws Exception
      Deprecated.
      unpack a .pak fie to .rpt file and write sub reports, drilldown, charts and images to files.
      Parameters:
      pakfilename - .pak file to be unpacked
      filename - .rpt file name
      relativeDomainPath - path to the domain where sub reports, drilldown, charts and images are to be written to.
      Throws:
      Exception
    • unpack

      @Deprecated public static void unpack(String pakfilename, String filename, String relativeDomainPath, boolean popUp) throws Exception
      Deprecated.
      unpack a .pak fie to .rpt file and write sub reports, drilldown, charts and images to files.
      Parameters:
      pakfilename - .pak file to be unpacked
      filename - .rpt file name
      relativeDomainPath - path to the domain where sub reports, drilldown, charts and images are to be written to.
      popUp - Option to pop up a message informing user that unpacking will overwrite existing rpt files.
      Throws:
      Exception
    • setServerAddress

      public static void setServerAddress(String address) throws UnknownHostException
      Sets the server address of EspressManager. Use this address instead of the one provided in the espressmanager.cfg file. It also eliminates the need of the espressmanager.cfg file in the working directory.
      Throws:
      UnknownHostException
    • setServerPortNumber

      public static void setServerPortNumber(int port)
      Sets the port number of EspressManager. Use this port number instead of the one provided in the espressmanager.cfg file. It also eliminates the need of the espressmanager.cfg file in the working directory.
    • setServerHosts

      public static void setServerHosts(Vector<String> hostnames)
      Sets the list of host names for EspressManager when tunneling is used. Use these hosts along with the ones provided in the espressmanager.cfg file. If the espressmanager.cfg file is not present, then only these hosts will be used.
    • setServletRunner

      public static void setServletRunner(String comm_url)
      Sets servlet runner hostname and port number Note: this static method MUST be called before any QbReport constructor
      Parameters:
      comm_url - servlet runner hostname and port number
    • useServlet

      public static void useServlet(boolean b)
      Determines whether to use SOCKET or HTTP or SERVLET for EspressManager connection Note that this static method MUST be called before any QbReport constructor.
      Parameters:
      b - If true use SERVLET connection, otherwise use other connection The default value is false.
    • getServletContext

      public static String getServletContext()
      Gets the servlet context for EspressManager servlet
      Returns:
      context the servlet context
    • setServletContext

      public static void setServletContext(String context)
      Sets the servlet context for EspressManager servlet
      Parameters:
      context - the servlet context
    • getPixelPerInchForExport

      public static int getPixelPerInchForExport()
      Gets the Pixel_Per_Inch for DHTML/HTML export
    • setPixelPerInchForExport

      public static void setPixelPerInchForExport(int PIXEL_PER_INCH)
      Sets the Pixel_Per_Inch for DHTML/HTML export
    • useSubReportCache

      public static boolean useSubReportCache()
      Whether to use parameterized sub report caching. If caching is used, then the sub report will not reload with new data when the parameter values are not changed.
    • setSubReportCache

      public static void setSubReportCache(boolean state)
      Sets whether parameterized sub report caching is used. See useSubReportCache() for details.
    • createQbReport

      public static QbReport createQbReport(quadbase.reportdesigner.report.Report r)
      internal use only
    • useSingleTableForDistinctParamValue

      public static boolean useSingleTableForDistinctParamValue()
      This is for database query parameter that is mapped to database column only. Whether to use only a single table when retrieving distinct value for database query parameter, instead of applying the original query's filter and joining multiple tables.
    • setUseSingleTableForDistinctParamValue

      public static void setUseSingleTableForDistinctParamValue(boolean state)
      This is for database query parameter that is mapped to database column only. Sets whether to use only a single table when retrieving distinct value for database query parameter, instead of applying the original query's filter and joining multiple tables.
    • setPdfEncryptionStrength

      public static void setPdfEncryptionStrength(boolean strength128bit)
      Sets the encryption strength of the pdf writer. Default is 128 bits.
      Parameters:
      strength128bit - true for 128 bits strength, false for 40 bits.
    • setExcelExportFitCell

      public static void setExcelExportFitCell(boolean b)
    • setExcelExportNonNumericFitCell

      public static void setExcelExportNonNumericFitCell(boolean b)
    • setExcelExportStreaming

      public static void setExcelExportStreaming(boolean b)
    • setExcelExportWindowsize

      public static void setExcelExportWindowsize(int s)
    • setParameterValues

      public void setParameterValues(Parameters parameters, Object[] values) throws Exception
      This is a convenience method for setting parameter values of the Parameters object.
      Sets parameter values using the Parameters object and an Object array of values.
      Parameters:
      values - the array of values, each Object is of the appropriate Java sql type according to Param.getSqlType(). Each Object can also be a Vector of Objects if and only if the parameter is a multi value parameter.
      params - the Parameters object
      Throws:
      Exception
    • setParameterValues

      public void setParameterValues(Parameters parameters, Object[] values, boolean[] selectAllInfo, boolean[] needUpdate) throws Exception
      Throws:
      Exception
    • setParameterValues

      public void setParameterValues(Parameters parameters, Object[] values, boolean[] selectAllInfo) throws Exception
      Throws:
      Exception
    • setParameterValues

      public void setParameterValues(Parameters parameters, Parameters allParams, Object[] values) throws Exception
      Throws:
      Exception
    • setParameterValues

      public void setParameterValues(Parameters parameters, Parameters allParams, Object[] values, boolean refresh) throws Exception
      Throws:
      Exception
    • getParamInput

      public Object[] getParamInput(Object reqObj)
      internal use only
    • setSubReportParameters

      public void setSubReportParameters(Object req)
      for internal use only
      Parameters:
      req - a HttpServletRequest Object that contains parameter information for the sub reports. The parameters will be obtained by using java reflection calls to methods that are in the HttpServletRequest object. This is so that compilation will not require java servlet classes.
    • createReport

      public void createReport(int reportType, quadbase.reportdesigner.report.ColData[] data, ColInfo[] mapping, String templatename, boolean sideBySideLayout)
      internal use only
    • createReport

      public void createReport(int reportType, quadbase.reportdesigner.report.ColData[] data, ColInfo[] mapping, String templatename, boolean sorteddata, boolean sideBySideLayout)
      internal use only
    • createReport

      public void createReport(int reportType, quadbase.reportdesigner.report.ColData[] data, ColInfo[] mapping, String templatename, boolean sorteddata, boolean sideBySideLayout, boolean optimizeMemory)
      internal use only
    • createReport

      public void createReport(int reportType, quadbase.reportdesigner.report.ColData[] data, ColInfo[] mapping, String templatename, boolean sorteddata, boolean sideBySideLayout, boolean optimizeMemory, boolean generateCrossTabGrandTotalColumn)
      internal use only
    • createReport

      public void createReport(int reportType, quadbase.reportdesigner.report.ColData[] data, ColInfo[] mapping, String templatename, boolean sorteddata, boolean sideBySideLayout, boolean optimizeMemory, boolean generateCrossTabGrandTotalColumn, boolean[] rowBreakAggrIncluded, boolean[] colBreakAggrIncluded, Properties props)
      internal use only
    • isForDeploy

      public boolean isForDeploy()
      Returns whether the QbReport is used for deployment.
    • setForDeploy

      public void setForDeploy(boolean state)
      Sets whether this QbReport object is used for deployment
      Parameters:
      state - the new state. The default value is false;
    • isMultiPageExp

      public boolean isMultiPageExp()
      Returns whether QbReport exports to multiple pages when exporting in HTML, or DHTML formats.
    • setMultiPageExp

      public void setMultiPageExp(boolean state)
      Specifies whether QbReport exports to multiple pages when exporting in HTML, or DHTML formats.
    • isUsingIE55DHTMLRendering

      @Deprecated public boolean isUsingIE55DHTMLRendering()
      Deprecated.
      Returns whether using IE 55 DHTML Rendering spec
    • setUsingIE55DHTMLRendering

      @Deprecated public void setUsingIE55DHTMLRendering(boolean b)
      Deprecated.
      Specifies whether using IE 55 DHTML Rendering spec
    • setUseStyleSheet

      @Deprecated public void setUseStyleSheet(boolean state)
      Deprecated.
      Specifies whether use style sheet for DHTML export
    • setExternalStyleSheetName

      public void setExternalStyleSheetName(String css)
      Specifies the external style sheet file used for DHTML export
    • getHTMLTitle

      public String getHTMLTitle()
      Return the title of the HTML/DHTML exporting
    • setHTMLTitle

      public void setHTMLTitle(String title)
      Specifies the title when exporting in HTML/DHTML formats
    • setExportDelimiter

      public void setExportDelimiter(int delimiter)
      Sets the export delimiter for Text and CSV export
      Parameters:
      delimiter - IDelimiterConstants.COMMA, IDelimiterConstants.DOUBLESPACE, IDelimiterConstants.SEMICOLON, IDelimiterConstants.SPACE, or IDelimiterConstants.TAB
    • setExportNewlineDelimiter

      public void setExportNewlineDelimiter(int nlDelimiter)
      Sets the export newline delimiter for Text and CSV export
      Parameters:
      delimiter - IDelimiterConstants.WINDOWS_NEWLINE, IDelimiterConstants.MAC_NEWLINE, IDelimiterConstants.OTHERS_NEWLINE, IDelimiterConstants.SYSTEM_NEWLINE
    • getExportedFiles

      public Vector<String> getExportedFiles()
      internal use only. for ERES scheduling jobs
    • cleanExportedFiles

      public void cleanExportedFiles()
      internal use only. for ERES scheduling jobs
    • setApplyExcelFormat

      @Deprecated public void setApplyExcelFormat(boolean state)
      Deprecated.
      As of EspressReport 3.X. All formats will be applied. Indicate whether to apply Excel format during export
    • applyTemplate

      public void applyTemplate(String templatename) throws Exception
      Apply the specified template file
      Parameters:
      templatename - URL location invalid input: '&' name of template
      Throws:
      Exception
    • applyTemplate

      public void applyTemplate(String templatename, boolean applyFormula) throws Exception
      Apply the specified template file
      Parameters:
      templatename - URL location invalid input: '&' name of template
      applyFormula - whether formulas from template file would be applied to data section of this QbReport object
      Throws:
      Exception
    • applyTemplate

      public void applyTemplate(String templatename, boolean applyFormula, boolean applyEmptySection) throws Exception
      Apply the specified template file
      Parameters:
      templatename - URL location invalid input: '&' name of template
      applyFormula - whether formulas from template file would be applied to data section of this QbReport object
      applyEmptySection - whether empty section from template file would be applied to data section of the QbReport object
      Throws:
      Exception
    • applyTemplate

      public void applyTemplate(byte[] data, boolean isRPTFormat) throws Exception
      Apply the specified template byte array object.
      Parameters:
      data - XML/RPT template in the byte array form
      isRPTFormat - whether template is a RPT(true), or XML(false)
      Throws:
      Exception
    • getParent

      public final Object getParent()
      Gets the parent Frame/Applet object for this QbReport object
    • setParent

      public final void setParent(Object parent)
      Sets the parent Frame/Applet object for this QbReport object
    • getFrame

      public final Frame getFrame()
      Gets the parent frame object of this QbReport object
    • setFrame

      public final void setFrame(Frame parent)
      Sets the parent frame object of this QbReport object
    • getApplet

      public final Applet getApplet()
      Gets the parent Applet object of this QbReport object
    • setApplet

      public final void setApplet(Applet parent)
      Sets the Applet object used as the parent object for this QbReport object
    • getErrorMessage

      public final String getErrorMessage()
      Returns error message for errors during the creation of this QbReport object. Returns null if no error.
    • getCustomDefinedFunctions

      public ICustomDefinedFunctions getCustomDefinedFunctions()
      Return custom defined functions
    • setCustomDefinedFunctions

      public void setCustomDefinedFunctions(ICustomDefinedFunctions f)
      Sets custom defined functions
    • loadFile

      public final void loadFile(String fileName) throws IOException
      For internal use only
      Throws:
      IOException
    • getReportObj

      public quadbase.reportdesigner.report.Report getReportObj()
      For internal use only
    • setStringCustomizer

      public final void setStringCustomizer(IStringCustomizer stringCustomizer)
      This is the API call for the user to pass in his/her implemented IStringCustomizer for displaying a specific character set, for example, Japanese characters.
      Parameters:
      stringCustomizer - chart IStringCustomizer object
      See Also:
    • getTableOfContentsObject

      public quadbase.reportdesigner.ReportElements.TableOfContents getTableOfContentsObject()
      Returns the table of contents object in the report if any, otherwise return null
    • getPageHeader

      public ReportSection getPageHeader()
      Returns the page header object
    • setPageHeader

      public void setPageHeader(ReportSection sec)
      Sets the page header section
    • getReportHeader

      public ReportSection getReportHeader()
      Returns the report header object
    • setReportHeader

      public void setReportHeader(ReportSection sec)
      Sets the Report header section
    • getReportFooter

      public ReportSection getReportFooter()
      Returns the report footer object
    • setReportFooter

      public void setReportFooter(ReportSection sec)
      Sets the Report footer section
    • getPageFooter

      public ReportSection getPageFooter()
      Returns the page footer object
    • setPageFooter

      public void setPageFooter(ReportSection sec)
      Sets the page footer section
    • getPageWidth

      public double getPageWidth()
      Returns page width, in inches
    • setPageWidth

      public void setPageWidth(double w)
      Sets the page width, in inches
    • getPageHeight

      public double getPageHeight()
      Returns page height, in inches
    • setPageHeight

      public void setPageHeight(double h)
      Sets the page height, in inches
    • getOrientation

      public int getOrientation()
      Gets the orientation in report page, LANDSCAPE, or PORTRAIT
    • setOrientation

      public void setOrientation(int orient)
      Sets the orientation in report page,
      Parameters:
      orient - QbReport.LANDSCAPE, or QbReport.PORTRAIT
    • getTopMargin

      public double getTopMargin()
      Returns top margin, in inches.
    • setTopMargin

      public void setTopMargin(double m)
      Sets the top margin, in inches
    • getBottomMargin

      public double getBottomMargin()
      Returns bottom margin, in inches.
    • setBottomMargin

      public void setBottomMargin(double m)
      Sets the bottom margin, in inches
    • getLeftMargin

      public double getLeftMargin()
      Returns left margin, in inches.
    • setLeftMargin

      public void setLeftMargin(double m)
      Sets the left margin, in inches
    • getRightMargin

      public double getRightMargin()
      Returns right margin, in inches.
    • setRightMargin

      public void setRightMargin(double m)
      Sets the right margin, in inches
    • getDHTMLTopMargin

      public double getDHTMLTopMargin()
      Returns the offset at the top, which is used in DHTML export
    • setDHTMLTopMargin

      public void setDHTMLTopMargin(double m)
      Sets the top margin to be used in DHTML export, in inches
    • isDHTMLTopMarginRepeatOnEveryPage

      public boolean isDHTMLTopMarginRepeatOnEveryPage()
      Returns whether top margin is repeated on every new page
    • setDHTMLTopMarginRepeatOnEveryPage

      public void setDHTMLTopMarginRepeatOnEveryPage(boolean state)
      specifies if top margin n DHTML is repeated for every page
    • isAdjustFont

      public boolean isAdjustFont()
      Return whether adjust the font based on the screen resolution.
    • setAdjustFont

      public void setAdjustFont(boolean state)
      Specifies whether should adjust the font based on the screen resolution. If set to true, use pixel-wise font. otherwise use fixed point font.
    • setFontMapping

      public void setFontMapping(String fontName, int style, String ttf)
      Sets Font Mapping
      Parameters:
      fontName - the name of the font
      style - one of the following. QbReport.PLAIN, BOLD, ITALIC, BOLDITALIC
      ttf - the path of the .ttf file
    • setFontMapping

      public void setFontMapping(String fontName, int style, String ttf, String encoding, boolean embed)
      Sets Font Mapping
      Parameters:
      fontName - the name of the font
      style - one of the following. QbReport.PLAIN, BOLD, ITALIC, BOLDITALIC
      ttf - the path of the .ttf file
      encoding - the encoding of this font
      embed - whether to emded this font to the document. by default true
    • getFontMapping

      public Hashtable<String,String> getFontMapping()
      Gets the Font Mapping Table
    • setFontMapping

      public void setFontMapping(Hashtable<String,String> fontMapping)
      internal use only Sets the Font mapping table
    • getRichTextFonts

      public String[][] getRichTextFonts()
      Gets rich text font for RTF export
      Returns:
      fontList array of String[] {fontName, familyName, charset, pitch}
    • setRichTextFonts

      public void setRichTextFonts(String[][] fontList)
      Sets rich text font for RTF export
      Parameters:
      fontList - array of String[] {fontName, familyName, charset, pitch}
    • getTable

      public ReportTable getTable()
      Returns the ReportTable object in this QbReport
    • getFixedFieldCrossTabReport

      public FixedFieldCrossTabReport getFixedFieldCrossTabReport()
    • preloadChartObjects

      public void preloadChartObjects()
      pre-load chart into memory first
    • export

      public void export(int format, String fileName) throws Exception
      Exports the QbReport to a file name in the format specified.
      Parameters:
      format - See the class IExportConstants for possible values.
      fileName - name of file to export to
      Throws:
      Exception
    • export

      public void export(int format, String fileName, boolean saveAllData) throws Exception
      Exports the QbReport to a file name in the format specified.
      Parameters:
      format - See the class IExportConstants for possible values.
      fileName - name of file to export to
      saveAllData - if and only if true, saves all data to the rpt file
      Throws:
      Exception
    • export

      public void export(int format, String fileName, String userPass, String ownerPass, int permissions) throws Exception
      Exports the QbReport to a file with password protection. This only pertains to exporting in the PDF format.
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      fileName - name of file to export to
      userPass - user password
      ownerPass - owner password
      permissions - permission on the file. See the class IExportConstants for possible values.
      Throws:
      Exception
    • export

      public void export(int format, String fileName, String userPass, String ownerPass, int permissions, String javaScript) throws Exception
      Exports the QbReport to a file with password protection. This only pertains to exporting in the PDF format.
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      fileName - name of file to export to
      userPass - user password
      ownerPass - owner password
      permissions - permission on the file. See the class IExportConstants for possible values.
      javaScript - the java script action for PDF export
      Throws:
      Exception
    • export

      @Deprecated public void export(int format, String fileName, String userPass, String ownerPass, int permissions, boolean saveAllData) throws Exception
      Deprecated.
      use export(int format, String fileName, boolean saveAllData)
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      fileName - name of file to export to
      userPass - user password
      ownerPass - owner password
      permissions - permission on the file. See the class IExportConstants for possible values.
      saveAllData - instead of 2 line backup date save all the data with the report
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out) throws Exception
      Exports this QbReport object in the specified format into the specified output stream
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, boolean skipFormatTable) throws Exception
      Exports this QbReport object in the specified format into the specified output stream
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      skipFormatTable - do not reconstruct report table again
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, String filename) throws Exception
      Exports this QbReport object in the specified format into the specified output stream
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      fileName - name of file to export to
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, boolean saveAllData, boolean skipFormatTable) throws Exception
      Exports this QbReport object in the specified format into the specified output stream
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      saveAllData - instead of 2 line backup date save all the data with the report
      skipFormatTable - do not reconstruct report table again
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, String userPass, String ownerPass, int permissions) throws Exception
      Exports this QbReport Object as an OutputStream with password protection. This only pertains to exporting in the PDF format.
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      userPass - user password
      ownerPass - owner password
      permissions - permission on the file. See the class IExportConstants for possible values.
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, String userPass, String ownerPass, int permissions, String javaScript) throws Exception
      Exports this QbReport Object as an OutputStream with password protection. This only pertains to exporting in the PDF format.
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      userPass - user password
      ownerPass - owner password
      permissions - permission on the file. See the class IExportConstants for possible values.
      javaScript - the java script action for PDF export
      Throws:
      Exception
    • export

      @Deprecated public void export(int format, OutputStream out, String userPass, String ownerPass, int permissions, boolean saveAllData) throws Exception
      Deprecated.
      use export(int format, OutputStream out, boolean saveAllData)
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      userPass - user password
      ownerPass - owner password
      permissions - permission on the file. See the class IExportConstants for possible values.
      saveAllData - instead of 2 line backup date save all the data with the report
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, String userPass, String ownerPass, int permissions, boolean saveAllData, String javaScript, String filename, boolean skipFormatTable) throws Exception
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, String userPass, String ownerPass, int permissions, boolean saveAllData, String javaScript, String filename, boolean limitExcelCellSplit, boolean skipFormatTable) throws Exception
      Exports this QbReport Object as an OutputStream with password protection. This only pertains to exporting in the PDF format.
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      userPass - user password
      ownerPass - owner password
      permissions - permission on the file. See the class IExportConstants for possible values.
      saveAllData - instead of 2 line backup date save all the data with the report
      javaScript - the java script action for PDF export
      skipFormatTable - do not reconstruct report table again
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, int exportPage) throws Exception
      Exports the specified page of this QbReport object in the specified format into the specified output stream
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      exportPage - the page number to be exported.
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, int exportPage, boolean saveAllData, boolean skipFormatTable) throws Exception
      Exports the specified page of this QbReport object in the specified format into the specified output stream
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      exportPage - the page number to be exported.
      saveAllData - instead of 2 line backup date save all the data with the report
      skipFormatTable - do not reconstruct report table again
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, int exportPage, boolean saveAllData) throws Exception
      Exports the specified page of this QbReport object in the specified format into the specified output stream
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      exportPage - the page number to be exported.
      saveAllData - instead of 2 line backup date save all the data with the report
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, int exportPage, String userPass, String ownerPass, int permissions, String javaScript) throws Exception
      Exports the specified page of this QbReport object in the specified format into the specified output stream
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      exportPage - the page number to be exported.
      userPass - user password
      ownerPass - owner password
      permissions - permission on the file. See the class IExportConstants for possible values.
      javaScript - the java script action for PDF export
      Throws:
      Exception
    • export

      @Deprecated public void export(int format, OutputStream out, int exportPage, String userPass, String ownerPass, int permissions, boolean saveAllData) throws Exception
      Deprecated.
      use export(int format, OutputStream out, int exportPage, boolean saveAllData) instead
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      exportPage - the page number to be exported.
      userPass - user password
      ownerPass - owner password
      permissions - permission on the file. See the class IExportConstants for possible values.
      saveAllData - instead of 2 line backup date save all the data with the report
      Throws:
      Exception
    • export

      public void export(int format, OutputStream out, Properties prop, IExportThreadListener expListener) throws Exception
      Exports this QbReport object in the specified format into the specified output stream
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      out - OutputStream to export the QbReport.
      prop - properties include:

      Property Name Possible Values
      "saveAllData" "true" or "false". Default is "false".
      "usrPass" (only relevant for PDF exports) encrypted user password. Default is "".
      "ownerPass" (only relevant for PDF exports) encrypted owner password. Default is "".
      "permission" (only relevant for PDF exports) String.valueOf(IExportConstants.*). see IExportConstants for possible values. Default is "".
      "javaScript" (only relevant for PDF exports) Javascript action for PDF export
      "exportPage" String.valueOf(int pageNumber). Default is -1 (all pages)


      expListener - Listener for multi page export
      Throws:
      Exception
    • export

      public void export(int format, String fileName, Properties prop, IExportThreadListener expListener) throws Exception
      Exports this QbReport object in the specified format as a file (filename)
      Parameters:
      format - format of the exported report. See the class IExportConstants for possible values.
      prop - properties include:

      Property Name Possible Values
      "saveAllData" "true" or "false". Default is "false".
      "usrPass" (only relevant for PDF exports) encrypted user password. Default is "".
      "ownerPass" (only relevant for PDF exports) encrypted owner password. Default is "".
      "permission" (only relevant for PDF exports) String.valueOf(IExportConstants.*). see IExportConstants for possible values. Default is "".
      "javaScript" (only relevant for PDF exports) Javascript action for PDF export
      "exportPage" String.valueOf(int pageNumber). Default is -1 (all pages)


      expListener - Listener for multi page export
      filename - file name to save as
      Throws:
      Exception
    • getDHTMLHeader

      public String getDHTMLHeader()
      Returns the header text to be included in DHTML export
    • isHeadTagIncluded

      public boolean isHeadTagIncluded()
      Returns whether the tags are included in the DHTML exports
    • setHeadTagIncluded

      public void setHeadTagIncluded(boolean b)
      Sets whether the <head><body> tags are included in the DHTML exports
    • getHTMLParamPage

      @Deprecated public String getHTMLParamPage(String reportLoc, int format)
      Deprecated.
      use QbReport.getParameterPage(String,int) instead For parameterized report, generate the html page for user to enter the parameters
      Parameters:
      reportLoc - the .rpt file location
      format - the export format
      Returns:
      the HTML page as a String
    • getHTMLParamPage

      @Deprecated public String getHTMLParamPage(String reportLoc, String securityLevel, int format)
      Deprecated.
      use QbReport.getParameterPage(String,String,int,null) instead For parameterized report, generate the html page for user to enter the parameters
      Parameters:
      reportLoc - the .rpt file location
      securityLevel - the security level of the report
      format - the export format
      Returns:
      the HTML page as a String
    • getHTMLParamPage

      @Deprecated public String getHTMLParamPage(String reportLoc, int format, String servletName)
      Deprecated.
      use QbReport.getParameterPage(String,null,int,String) instead For parameterized report, generate the html page for user to enter the parameters
      Parameters:
      reportLoc - the .rpt file location
      format - the export format
      servletName - the name of the servlet
      Returns:
      the HTML page as a String
    • getHTMLParamPage

      @Deprecated public String getHTMLParamPage(String reportLoc, String securityLevel, int format, String servletName)
      Deprecated.
      use QbReport.getParameterPage(String,String,int,String) instead For parameterized report, generate the html page for user to enter the parameters
      Parameters:
      reportLoc - the .rpt file location
      securityLevel - the security level of the report
      format - the export format
      servletName - the name of the servlet
      Returns:
      the HTML page as a String
    • getHTMLParamPageBody

      @Deprecated public String getHTMLParamPageBody(String reportLoc, int format)
      Deprecated.
      use QbReport.getParameterPage(String,String,int,String) instead For parameterized report, generate the html page body for user to enter the parameters
      Parameters:
      reportLoc - the .rpt file location
      format - the export format
      Returns:
      the HTML page body as a String
    • getHTMLParamPageBody

      @Deprecated public String getHTMLParamPageBody(String reportLoc, String securityLevel, int format)
      Deprecated.
      use QbReport.getParameterPage(String,String,int,String) instead For parameterized report, generate the html page body for user to enter the parameters
      Parameters:
      reportLoc - the .rpt file location
      securityLevel - the security level of the report
      format - the export format
      Returns:
      the HTML page body as a String
    • getHTMLParamPageBody

      @Deprecated public String getHTMLParamPageBody(String reportLoc, int format, String servletName)
      Deprecated.
      use QbReport.getParameterPage(String,String,int,String) instead For parameterized report, generate the html page body for user to enter the parameters
      Parameters:
      reportLoc - the .rpt file location
      format - the export format
      servletName - the name of the servlet
      Returns:
      the HTML page body as a String
    • getHTMLParamPageBody

      @Deprecated public String getHTMLParamPageBody(String reportLoc, String securityLevel, int format, String servletName)
      Deprecated.
      use QbReport.getParameterPage(String,String,int,String) instead For parameterized report, generate the html page body for user to enter the parameters
      Parameters:
      reportLoc - the .rpt file location
      securityLevel - the security level of the report
      format - the export format
      servletName - the name of the servlet
      Returns:
      the HTML page body as a String
    • getHTMLParamPageBlock

      @Deprecated public String getHTMLParamPageBlock()
      Deprecated.
      use QbReport.getParameterPage(String,String,int,String) instead For parameterized report, generate the html page body for user to enter the parameters
      Returns:
      the HTML page body as a String
    • exportReportToByteArray

      public byte[] exportReportToByteArray() throws Exception
      Returns this QbReport object as a byte array, useful when streaming the object.
      Returns:
      byte array
      Throws:
      Exception
    • setDynamicExport

      public void setDynamicExport(boolean state, String serverName, int servletRunnerPort)
      If and only if the report is to be obtained by end-users using Http protocol, this specifies the location of the Servlets for Http exports. Note that this method only pertains to HTML/DHTML exports. It is irrelevant to other types of exports. If state is true, then the serverName and servletRunnerPort will be used to dynamically access components(such as images) of the exported HTML/DHTML report. Specifies the location of the Servlets.
      Parameters:
      state - whether dynamic export should be used
      serverName - name, or IP address of the server
      servletRunnerPort - the servlet port number allocated on the server
    • setDynamicExport

      public void setDynamicExport(boolean state, String serverName, int servletRunnerPort, int timeoutDuration)
      If and only if the report is to be obtained by end-users using Http protocol, this specifies the location of the Servlets for Http exports. Note that this method only pertains to HTML/DHTML exports. It is irrelevant to other types of exports. If state is true, then the serverName and servletRunnerPort will be used to dynamically access components(such as images) of the exported HTML/DHTML report. Specifies the location of the Servlets. Setting the timeoutDuration will close the servlet connection once timeoutDuration (in ms) has been reached *Note - setting timeoutDuration will only work with jdk 1.5+
      Parameters:
      state - whether dynamic export should be used
      serverName - name, or IP address of the server
      servletRunnerPort - the servlet port number allocated on the server
      timeoutDuration - the duration in ms before a servlet connection is timed out.
    • setDynamicExport

      public void setDynamicExport(boolean state, boolean relativeUrlToServlets)
      Specifies whether to embed a relative link to the generator servlets (RPTImageGeneratorServlet, DrillDownReportServlet) in the dhtml/html/pdf exports.
      Parameters:
      state - whether dynamic export should be used
      relativeUrlToServlets - if and only if true, use a relative link
    • setHttpsDynamicExport

      public void setHttpsDynamicExport(boolean state, String serverName, int servletRunnerPort)
      If and only if the report is to be obtained by end-users using Https protocol, this specifies the location of the Servlets for Https exports. Note that this method only pertains to HTML/DHTML exports. It is irrelevant to other types of exports. If state is true, then the serverName and servletRunnerPort will be used to dynamically access components(such as images) of the exported HTML/DHTML report.
      Important: you must also set the http protocol addresses using setDynamicExport() if you are exporting in HTML/DHTML even if your report is to be obtained by the end-users only using the https protocol.
      Also: drill down links currently does not support https protocols
      Parameters:
      state - whether dynamic export should be used
      serverName - name, or IP address of the server
      servletRunnerPort - the servlet port number allocated on the server
    • setHttpsDynamicExport

      public void setHttpsDynamicExport(boolean state, String serverName, int servletRunnerPort, int timeoutDuration)
      If and only if the report is to be obtained by end-users using Https protocol, this specifies the location of the Servlets for Https exports. Note that this method only pertains to HTML/DHTML exports. It is irrelevant to other types of exports. If state is true, then the serverName and servletRunnerPort will be used to dynamically access components(such as images) of the exported HTML/DHTML report. Setting the timeoutDuration will close the servlet connection once timeoutDuration (in ms) has been reached *Note - setting timeoutDuration will only work with jdk 1.5+
      Important: you must also set the http protocol addresses using setDynamicExport() if you are exporting in HTML/DHTML even if your report is to be obtained by the end-users only using the https protocol.
      Also: drill down links currently does not support https protocols
      Parameters:
      state - whether dynamic export should be used
      serverName - name, or IP address of the server
      servletRunnerPort - the servlet port number allocated on the server
      timeoutDuration - the duration in ms before a servlet connection is timed out.
    • isDynamicExport

      public boolean isDynamicExport()
      Returns whether dynamic export should be used
    • isHttpsDynamicExport

      public boolean isHttpsDynamicExport()
      Returns whether https dynamic export should be used
    • exportReportToString

      public String exportReportToString() throws Exception
      Returns this QbReport object as a String object which can be re-constructed by Report Viewer.
      Returns:
      The report data in String format
      Throws:
      Exception
      See Also:
    • draw

      public void draw(Graphics g, int page, int section) throws Exception
      Draw the specified page and section with the specified Graphics
      Parameters:
      g - the Graphics to draw to
      page - page number to be drawn
      section - the section to be drawn
      Throws:
      Exception
    • getTotalPages

      public int getTotalPages(Graphics g) throws Exception
       The total number of pages that this report will span. The Graphics
       argument is used to draw report elements that have "resize to fit content"
       turned ON.
      
       Usually, this Graphics argument can be achieved from a Frame or Applet.
       For example:
       
              Frame frame = new Frame();
       frame.addNotify();
       Image image = frame.createImage(10,10);
       frame.removeNotify();
       Graphics g = image.getGraphics();
       
       In a headless environment however, a different approach can be used:
       
        BufferedImage image = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
       Graphics g = image.getGraphics();
       
      Parameters:
      g - the Graphics to use for calculation. Though not recommended, you may pass in null if the report does not have any element that resizes automatically.
      Throws:
      Exception
    • getTotalSections

      public int getTotalSections(Graphics g) throws Exception
      Returns the total section count drawn in the specified Graphics argument
      Parameters:
      g - the Graphics that has pages drawn to it using the draw() method
      Throws:
      Exception
    • autoFitColumns

      public void autoFitColumns()
      resize invalid input: '&' fit all columns so they would fit onto one page in the width orientation.
    • printUsingAwtPrint

      public void printUsingAwtPrint(Frame frame, boolean showPageDialog, boolean showPrintDialog, int firstPage, int lastPage) throws Exception
      This method uses java.awt.print.PrinterJob to print. It does not use PageViewer nor Swing to print.
      Parameters:
      frame - the frame to print this report. If null, a new Frame() is constructed and used.
      showPageDialog - whether to show the page setup dialog
      showPrintDialog - whether to show the print setup dialog
      firstPage - first page starts at 1
      lastPage - put -1 to print all the pages
      Throws:
      Exception
    • print

      public void print(Frame frame) throws Exception
      This method uses java.awt.PrintJob to print. This method does not use PageViewer nor Swing to print.
      Parameters:
      frame - the frame to print this report. If null, a new Frame() is constructed and used.
      Throws:
      Exception
    • print

      public void print(Graphics g) throws Exception
      Print via Java2D, better performance
      Parameters:
      g - the Graphics to print to
      Throws:
      Exception
    • print

      public void print() throws Exception
      Print Report
      Throws:
      Exception
    • print

      public void print(int firstPage, int lastPage) throws Exception
      print using default printer without prompting print dialog requires JDK 1.2 or above
      Parameters:
      firstPage - first page starts at 1
      lastPage - put -1 to print all the pages
      Throws:
      Exception
    • print

      public void print(int firstPage, int lastPage, String preferredPrinter) throws Exception
      print using default printer without prompting print dialog requires JDK 1.4 or above
      Parameters:
      firstPage - first page starts at 1
      lastPage - put -1 to print all the pages
      preferredPrinter - put null for default printer
      Throws:
      Exception
    • print

      public void print(int firstPage, int lastPage, String preferredPrinter, int numOfCopy) throws Exception
      print using default printer without prompting print dialog requires JDK 1.4 or above
      Parameters:
      firstPage - first page starts at 1
      lastPage - put -1 to print all the pages
      preferredPrinter - put null for default printer
      numOfCopy - number of copy
      Throws:
      Exception
    • print

      public void print(int firstPage, int lastPage, Object printService, Object printRequestAttributeSet) throws Exception
      Print using the specified javax.print.PrintService and PrintRequestAttributeSet. This requires JDK 1.4 or above. Code that obtains PrintService and PrintRequestAttributeSet object might look like this:
       
              PrintService ps = null;
       PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
       String printerName = "DEFAULT_PRINTER"; //find printer with name DEFAULT_PRINTER
      
       aset.add(MediaSizeName.ISO_A4); //print on the A4 printer tray
       aset.add(new Copies(2));        //print two copies
       PrintService[] services =
           PrintServiceLookup.lookupPrintServices(null, aset);
       for (int i = 0; i invalid input: '<' services.length; i++)
           if (printerName.equals(services[i].getName()))
              ps = services[i];
      
       if (ps != null)
           report.print(1, -1, ps, aset); //report is of QbReport type
       else System.out.println("PrintService not found");
       
       
      Parameters:
      printService - the javax.print.PrintService object to use
      printRequestAttributeSet - the javax.print.attribute.PrintRequestAttributeSet object to use when calling PrinterJob.print(PrintRequestAttributeSet).
      Throws:
      Exception
    • print

      public void print(int firstPage, int lastPage, Object printService, Object printRequestAttributeSet, int numOfCopy) throws Exception
      Print using the specified javax.print.PrintService and PrintRequestAttributeSet. This requires JDK 1.4 or above. Code that obtains PrintService and PrintRequestAttributeSet object might look like this:
       
              PrintService ps = null;
       PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
       String printerName = "DEFAULT_PRINTER"; //find printer with name DEFAULT_PRINTER
      
       aset.add(MediaSizeName.ISO_A4); //print on the A4 printer tray
       aset.add(new Copies(2));        //print two copies
       PrintService[] services =
           PrintServiceLookup.lookupPrintServices(null, aset);
       for (int i = 0; i invalid input: '<' services.length; i++)
           if (printerName.equals(services[i].getName()))
              ps = services[i];
      
       if (ps != null)
           report.print(1, -1, ps, aset); //report is of QbReport type
       else System.out.println("PrintService not found");
       
       
      Parameters:
      printService - the javax.print.PrintService object to use
      printRequestAttributeSet - the javax.print.attribute.PrintRequestAttributeSet object to use when calling PrinterJob.print(PrintRequestAttributeSet).
      numOfCopy - number of copy
      Throws:
      Exception
    • getAllAvailPrinters

      public String[] getAllAvailPrinters()
      Return all the available printers requires JDK 1.4 or above
      Returns:
      return all the available printers
    • setDisplayRow

      public void setDisplayRow(int displayRow) throws Exception
      Sets number of rows that user wants to display in their report. call this method before export the report. Sets displayRow = -1 in order to retrieve all the data
      Throws:
      Exception
    • refresh

      public void refresh() throws Exception
      Refreshes the data
      Throws:
      Exception
    • refreshWithOriginalData

      public void refreshWithOriginalData() throws Exception
      Refreshes the data from the original data source
      Throws:
      Exception
    • refreshWithSubReportsOriginalData

      public void refreshWithSubReportsOriginalData() throws Exception
      Throws:
      Exception
    • updateDataSource

      public void updateDataSource()
      Updates the datasource of the QbReport object with the new datasource if QbReport object is opened with back-up data
    • setChartExportHTMLParameters

      public void setChartExportHTMLParameters(String dirLocation, String url, String fileName)
      specifies the directory where to export the charts as images. For HTML and DHTML export only
      Parameters:
      dirLocation - The location where the chart is exported to
      url - The URL path where the exported chart can be accessed (not include the actual image file name)
      fileName - The exported file name
    • getChartPath

      public String getChartPath()
    • setChartPath

      public void setChartPath(String path)
      specifies the directory where "tpl" files are located
    • getImagePath

      public String getImagePath()
    • setImagePath

      public void setImagePath(String path)
      specifies the directory where chart image files reside
    • getSubReportPath

      public String getSubReportPath()
    • setSubReportPath

      public void setSubReportPath(String path)
      specifies the directory where subreport .rpt files reside
    • setDrillDownPath

      public void setDrillDownPath(String path, boolean isRoot)
    • getDrillDownPath

      public String getDrillDownPath()
    • setDrillDownPath

      public void setDrillDownPath(String path)
      specifies the directory where drilldown .rpt files reside
    • setServletDirectory

      public void setServletDirectory(String path)
      Specifies the directory where the drill-down servlet is located. This directory is appended immediately following the ip address and port number, i.e. http://127.0.0.1:8080/DIRECTORY/. The default value is "servlet/"
    • getReportInfo

      public quadbase.reportdesigner.report.Report getReportInfo()
      Internal use only
      Specified by:
      getReportInfo in interface IReport
    • getReportInfo

      public quadbase.reportdesigner.report.Report getReportInfo(boolean forViewer)
      Internal use only
      Specified by:
      getReportInfo in interface IReport
    • getData

      public ReportElement getData(String id)
      Return the ReportElement object with the given id or customID
      Specified by:
      getData in interface IReport
      Parameters:
      id - the ID/CustomID used to identify the ReportElement object
    • getLocale

      public Locale getLocale() throws IllegalComponentStateException
      Gets the locale of this QbReport object
      Returns:
      This component's locale. If this component does not have a locale, the locale of its parent is returned.
      Throws:
      IllegalComponentStateException
    • setLocale

      public void setLocale(Locale locale)
      Sets the locale of this component
      Parameters:
      locale - The locale to become this component's locale.
    • getTimeZone

      public TimeZone getTimeZone()
      Gets the time zone
      Returns:
      the time zone associated with this component
    • setTimeZone

      public void setTimeZone(TimeZone zone)
      Sets the time zone used in this QbReport object.
      Parameters:
      zone - the new time zone
    • getNULLDataValue

      public Object getNULLDataValue()
      Returns the default object used in place of null Data objects
    • setNULLDataValue

      public void setNULLDataValue(String value)
      Sets the default object used in place of null Data objects
    • getNumericNULLDataValue

      public Object getNumericNULLDataValue()
      Returns the default object used in place of null Numeric data objects
    • setNumericNULLDataValue

      public void setNumericNULLDataValue(Object value)
      Sets the default object used in place of null Numeric data objects
    • getDateTimeNULLDataValue

      public Object getDateTimeNULLDataValue()
      Returns the default object used in place of null date-time data objects
    • setDateTimeNULLDataValue

      public void setDateTimeNULLDataValue(Object value)
      Sets the default object used in place of null date-time data objects
    • getBooleanNULLDataValue

      public Object getBooleanNULLDataValue()
      Returns the default object used in place of null Boolean data objects
    • setBooleanNULLDataValue

      public void setBooleanNULLDataValue(Object value)
      Sets the default object used in place of null Boolean data objects
    • getStringNULLDataValue

      public String getStringNULLDataValue()
      Returns the default object used in place of null String data objects
    • setStringNULLDataValue

      public void setStringNULLDataValue(String value)
      Sets the default object used in place of null String data objects
    • getInputData

      public final IInputData getInputData()
      Returns a handle to the report's input data properties, including file or database information, and accessing individual records. Properties of input data can be directly changed by calling methods on this interface.
      Returns:
      a handle to quadbase.reportdesigner.util.IInputData.
      See Also:
    • finalize

      protected void finalize() throws Throwable
      For internal use only
      Overrides:
      finalize in class Object
      Throws:
      Throwable
    • cleanup

      public void cleanup() throws Throwable
      For internal use only
      Throws:
      Throwable
    • getDrillDownReportCount

      public int getDrillDownReportCount()
      Gets the number of drill-down reports presently accessible
    • getDrillDownReportAt

      public DrillDownReport getDrillDownReportAt(int index, boolean useBackupData) throws Exception
      Return the drill-down report at the specific index
      Parameters:
      index - the specified index
      useBackupData - whether to use backup data
      Throws:
      Exception
    • getDrillDownReportAt

      public DrillDownReport getDrillDownReportAt(int index) throws Exception
      Return the drill-down report at the specific index. Same as getDrillDownReportAt(index, false);
      Throws:
      Exception
    • getDrillDownReport

      public DrillDownReport getDrillDownReport(String name, boolean useBackupData) throws Exception
      Return the drill-down report with the matching name
      Parameters:
      name - the matching name
      useBackupData - whether to use backup data
      Throws:
      Exception
    • getDrillDownReport

      public DrillDownReport getDrillDownReport(String name) throws Exception
      Return the drill-down report with the matching name. Same as getDrillDownReport(name, false);
      Throws:
      Exception
    • createDrillDownReport

      public DrillDownReport createDrillDownReport(String name, int reportType, IDatabaseInfo dbInfo, ColInfo[] mapping, String template, int[] columnMapping) throws Exception
      Create a drill-down report that will be an immediate child of the calling report
      Parameters:
      name - The name of the drill-down report. If a drill-down report already exists with the same name, an IllegalArgumentException is thrown
      reportType - The type of the report. See IReportConstants.
      dbInfo - The database information that will be used to retrieve data. It must implement the IQueryFileInfo interface because drill-down reports require a parameterized query.
      mapping - Database results to report table mapping.
      template - Template RPT file to be applied to the drill-down report.
      columnMapping - Specifies which column of the calling report should be mapped to each parameter. Therefore, the length of this array should equal the number of parameters in the query.
      Throws:
      Exception
    • createDrillDownReport

      public DrillDownReport createDrillDownReport(String name, int reportType, IDatabaseInfo dbInfo, ColInfo[] mapping, String template, int[] columnMapping, boolean autoInsertDrillDownLink) throws Exception
      Create a drill-down report that will be an immediate child of the calling report
      Parameters:
      name - The name of the drill-down report. If a drill-down report already exists with the same name, an IllegalArgumentException is thrown
      reportType - The type of the report. See IReportConstants.
      dbInfo - The database information that will be used to retrieve data. It must implement the IQueryFileInfo interface because drill-down reports require a parameterized query.
      mapping - Database results to report table mapping.
      template - Template RPT file to be applied to the drill-down report.
      columnMapping - Specifies which column of the calling report should be mapped to each parameter. Therefore, the length of this array should equal the number of parameters in the query.
      autoInsertDrillDownLink - If true, automically insert drill-down links at the columns selected as parameters.
      Throws:
      Exception
    • createDrillDownReport

      public DrillDownReport createDrillDownReport(String name, int reportType, IDatabaseInfo dbInfo, ColInfo[] mapping, String template, int[] columnMapping, boolean autoInsertDrillDownLink, boolean sideBySideLayout) throws Exception
      Create a drill-down report that will be an immediate child of the calling report
      Parameters:
      name - The name of the drill-down report. If a drill-down report already exists with the same name, an IllegalArgumentException is thrown
      reportType - The type of the report. See IReportConstants.
      dbInfo - The database information that will be used to retrieve data. It must implement the IQueryFileInfo interface because drill-down reports require a parameterized query.
      mapping - Database results to report table mapping.
      template - Template RPT file to be applied to the drill-down report.
      columnMapping - Specifies which column of the calling report should be mapped to each parameter. Therefore, the length of this array should equal the number of parameters in the query.
      autoInsertDrillDownLink - If true, automically insert drill-down links at the columns selected as parameters.
      sideBySideLayout - for master details report
      Throws:
      Exception
    • createDrillDownReport

      public DrillDownReport createDrillDownReport(String name, int reportType, IDatabaseInfo dbInfo, ColInfo[] mapping, String template, int[] columnMapping, boolean autoInsertDrillDownLink, boolean sideBySideLayout, boolean prevParamPrompt) throws Exception
      Create a drill-down report that will be an immediate child of the calling report
      Parameters:
      name - The name of the drill-down report. If a drill-down report already exists with the same name, an IllegalArgumentException is thrown
      reportType - The type of the report. See IReportConstants.
      dbInfo - The database information that will be used to retrieve data. It must implement the IQueryFileInfo interface because drill-down reports require a parameterized query.
      mapping - Database results to report table mapping.
      template - Template RPT file to be applied to the drill-down report.
      columnMapping - Specifies which column of the calling report should be mapped to each parameter. Therefore, the length of this array should equal the number of parameters in the query.
      autoInsertDrillDownLink - If true, automically insert drill-down links at the columns selected as parameters.
      sideBySideLayout - for master details report
      prevParamPrompt - in case the new drilldown report has unmapped parameters, whether prompt the user for the unmapped parameters
      Throws:
      Exception
    • createCrossTabDrillDownReport

      public DrillDownReport createCrossTabDrillDownReport(String name, int reportType, IDatabaseInfo dbInfo, ColInfo[] mapping, String template, int[] columnMapping, boolean sideBySideLayout) throws Exception
      Create a cross-tab drill-down report that will be an immediate child of the calling report
      Parameters:
      name - The name of the drill-down report. If a drill-down report already exists with the same name, an IllegalArgumentException is thrown
      reportType - The type of the report. See IReportConstants.
      dbInfo - The database information that will be used to retrieve data. It must implement the IQueryFileInfo interface because drill-down reports require a parameterized query.
      mapping - Database results to report table mapping.
      template - Template RPT file to be applied to the drill-down report.
      columnMapping - Specifies which column of the calling report should be mapped to each parameter. Therefore, the length of this array should equal the number of parameters in the query.
      sideBySideLayout - Indicate if the report should be created with a top-bottom(false) or side-by-side(true) layout. This argument is only used when the report type is master-details. Otherwise, it is ignored.
      Throws:
      Exception
    • initDrillDownTree

      protected void initDrillDownTree(quadbase.reportdesigner.report.Report r, quadbase.reportdesigner.report.DrillDownNode node)
      For internal use only
    • initDrillDownTree

      protected void initDrillDownTree(quadbase.reportdesigner.report.Report r, quadbase.reportdesigner.report.DrillDownNode node, Vector<quadbase.reportdesigner.report.DrillDownNode> childNodes)
      For internal use only
    • setSubReports

      protected void setSubReports(quadbase.reportdesigner.report.Report r, Vector<SubReportObject> sr)
      For internal use only
    • isSubReport

      public boolean isSubReport()
      Always returns false
    • getReportImages

      public ReportImage[] getReportImages()
      Returns the array of ReportImages in this report
    • getReportImageCount

      public int getReportImageCount()
      Returns the number of ReportImages in this report
    • getReportImageAt

      public ReportImage getReportImageAt(int index)
      To get a reference to a ReportImage object,
    • getReportImages

      public ReportImage[] getReportImages(quadbase.reportdesigner.ReportElements.ReportTableElement elt, boolean includeSubSection)
      Returns an array of ReportImage in the given section or table
    • getReportChartObjects

      public ReportChartObject[] getReportChartObjects()
    • getReportChartObjects

      public ReportChartObject[] getReportChartObjects(boolean formatTable)
      Returns the array of all ReportChartObject objects in this report
    • getReportChartObjectCount

      public int getReportChartObjectCount()
      Returns the number of ReportChartObjects in this report
    • getReportChartObjectAt

      public ReportChartObject getReportChartObjectAt(int index)
      To get a reference to a ReportChartObject object,
    • getReportChartObjectAt

      public ReportChartObject getReportChartObjectAt(int index, boolean formatTable)
    • getReportChartObjects

      public ReportChartObject[] getReportChartObjects(quadbase.reportdesigner.ReportElements.ReportTableElement elt, boolean includeSubSection)
      Returns an array of ReportChartObject in the given section or table
    • getSubReports

      public SubReportObject[] getSubReports()
      Returns the array of all SubReportObjects in this report
    • getSubReportCount

      public int getSubReportCount()
      Returns the number of SubReportObjects in this report
    • getSubReportAt

      public SubReportObject getSubReportAt(int index)
      To get a reference to a SubReportObject object at the given index,
    • getSubReports

      public SubReportObject[] getSubReports(quadbase.reportdesigner.ReportElements.ReportTableElement elt, boolean includeSubSection)
      Returns an array of SubReportObjects in the given section or table
    • removeSubReportAt

      @Deprecated public void removeSubReportAt(int index)
      Deprecated.
      DO NOT USE THIS METHOD. For internal use only.
    • setReportObjectForSubReports

      public void setReportObjectForSubReports(String filename, ISubReport rptobject)
      For internal use only.
    • setColumnWrap

      public void setColumnWrap(int x, int repeattime)
      Sets column wrap properties. This procedure applies to columnar reports only.
      Parameters:
      x - position from the left edge
      repeattime - iteration per page
    • resetColumnWrap

      public void resetColumnWrap()
      reset column wrap to false. Only for Columnar reports.
    • setHTMLLinksProvider

      public void setHTMLLinksProvider(IHTMLLinksProvider provider)
      Customizes the links at the top of each page, i.e. prev page, next page.. For DHTML invalid input: '&' HTML export only.
    • setDrillDownReportHashtable

      public void setDrillDownReportHashtable(Hashtable<String,byte[]> table)
    • sortByColumn

      public void sortByColumn(int colIndex, boolean isAsc)
      Sort the data in the specified column in either ascending, or descending order.
      Parameters:
      colIndex - the column to be sorted by.
      isAsc - whether to sort in the ascending order.
    • sortByMultiColumn

      public void sortByMultiColumn(int[] colIndex, boolean[] isAsc)
      Sort by multiple columns.
      Parameters:
      colIndex - array of columns to be sorted by, the sort by order is the same as the order of columns in colIndex
      isAsc - array that contains true for ascending order and false for descending order
    • setFitGroupOnPage

      public void setFitGroupOnPage(boolean isFitGroupOnPage)
      Specifies whether to start group on next page when it will not fit on the current page. For Summary Break, and Crosstab reports only.
    • getReportType

      public int getReportType()
      Gets the type of the report.
      Returns:
      The type of the report, or -1 if the report is not yet defined.
    • addFormula

      public void addFormula(Formula formulaObj)
      Add a formula object to this QbReport object's formula list, to be used in ReportTable, footers, and/or headers.
      Parameters:
      formulaObj - the formula object to be added.
    • addScript

      public void addScript(Script scriptObj)
      Add a script object to this report scripts list, to be used in ReportTable, footers, and/or headers.
      Parameters:
      scriptObj - the script object to be added.
    • setFormulaScriptParamValue

      public void setFormulaScriptParamValue(String paramName, Object value)
      Specifies new value for the formula script parameter by the specified name
      Parameters:
      paramName - name of the formula script parameter
      value - new value
    • getBackgroundColor

      public Color getBackgroundColor()
      Gets the background color of the report.
    • setBackgroundColor

      public void setBackgroundColor(Color color)
      Sets the background color of this report.
    • createTopNReport

      public void createTopNReport(int sortColIndex, int topN, boolean ascending)
      Create a report consisted of data that make up the highest values in the specified column
      Parameters:
      sortColIndex - the column used for sorting values
      topN - the number of records to include, from the top end
      ascending - whether to display results in the ascending(true) order
    • getQueryParameters

      public Vector<Parameter> getQueryParameters()
      Returns a Vector containing Parameter objects if parameterized query is present
      See Also:
    • getFormulaParameters

      public Vector<Parameter> getFormulaParameters()
      Gets a Vector containing Parameter objects if parameterized formula is used
      See Also:
    • promptFormulaParameters

      public void promptFormulaParameters(Object object)
      internal use only Prompt users to enter Formula Parameter value with the specified parent object
    • parseProperties

      public Object[] parseProperties(Properties props)
      internal use only
    • setSecurityLevel

      public void setSecurityLevel(String level, boolean refresh, boolean promptParam) throws Exception
      Sets the security level for this report. This affects all exports as well as the viewing this report as a Java component. The default security level is null. All cells are displayed with their original values in the default security level. If a cell has a matching security level defined, the cell value will be modified according to the properties defined by the security level. If refresh is true, then the report data is also refreshed with the security query parameters. An exception is thrown if the data cannot be refreshed due to a mismatch between the security parameters and actual parameters. If 'promptParam' is false and there are unsecured parameters, the existing values will be used.
      Parameters:
      level - The new security level.
      refresh - Specifies if the report refresh after the security level is changed.
      promptParam - Specifies if the user should be prompted for any unsecured query parameters.
      Throws:
      Exception
      See Also:
    • getSecurityLevel

      public String getSecurityLevel()
      Determine the current security level. A return value of null means the default security level is set.
    • setSecurityLevel

      public void setSecurityLevel(String level) throws Exception
      Sets the security level for this report. This affects all exports as well as the viewing this report as a Java component. The default security level is null. All cells are displayed with their original values in the default security level. If a cell has a matching security level defined, the cell value will be modified according to the properties defined by the security level. The report data is also refreshed if security query parameters are set for the security level. An exception is thrown if the data cannot be refreshed due to a mismatch between the security parameters and actual parameters.
      Throws:
      Exception
      See Also:
    • getSecurityQueryParameterMap

      public Hashtable<String,quadbase.common.paramquery.QueryInParam[]> getSecurityQueryParameterMap()
      Return the security level to query parameters mapping. A security level can have pre-defined query parameters.
    • setSecurityQueryParameterMap

      public void setSecurityQueryParameterMap(Hashtable<String,quadbase.common.paramquery.QueryInParam[]> table)
      If this report uses a parameterized query, then a security level to parameters mapping can be set. Then when running this report at a particular security level will cause the pre-defined parameter values to be used for retrieving data. Each key-value pair in the hashtable must be defined according to the following specifications:
      - The key must be a String object of a security level name.
      - The value is an array of quadbase.reportdesigner.util.IQueryInParam objects.
      - The length of the array must match the parameters of the query.
      - Each parameter's name, SQL type, and multi-value setting must also match its counter part from the query.

      If the above conditions are not met, then the security query parameters are ignored.
    • setExportToSingleWPagination

      public void setExportToSingleWPagination(boolean singleWPagination)
      Sets whether to export the QbReport with single paged breaks for a DHTML output. This is only for exporting as a DHTML format. When singleWPagination is set to true, the output DHTML file will contain page breaks that come close if we were to print out pages of the DHTML file.
    • setExpandAndCollapseOptionForDHTML

      public void setExpandAndCollapseOptionForDHTML(boolean expAndCol, boolean defaultToExpandAll)
      Sets whether to export the Summary Break Report with expand/ collapse feature for a DHTML output. This is only for exporting as a DHTML format. When expand/ collapse option is set to true, the output DHTML file will contain arrow buttons to expand/ collapse sub-level break
    • setExpandAndCollapseOptionForDHTML

      public void setExpandAndCollapseOptionForDHTML(boolean expAndCol, int expandLevelToGroupSectionIndex)
      Sets whether to export the Summary Break Report with expand/ collapse feature for a DHTML output. This is only for exporting as a DHTML format. When expand/ collapse option is set to true, the output DHTML file will contain arrow buttons to expand/ collapse sub-level break And using this function, user has a control to expand the report to certain group level instead of expand/ collapse the whole report
    • isExpandAndCollapseOptionForDHTML

      public boolean isExpandAndCollapseOptionForDHTML()
      Returns whether to export the Summary Break/ CrossTab Report with expand/ collapse feature for DHTML output. This is only for exporting as a DHTML format. Expand/ collapse option returns true if output DHTML file contains arrow buttons to expand/ collapse sub-level break
    • isDefaultToExpandAllForDHTML

      public boolean isDefaultToExpandAllForDHTML()
      Returns whether to export the Summary Break/ CrossTab Report with expand/ collapse all the sections for DHTML output. This is only for exporting as a DHTML format.
    • getExpandToGroupSectionIndex

      public int getExpandToGroupSectionIndex()
      Returns the group section index that the report default to show in Summary Break/ CrossTab Report with expand/ collapse on for DHTML output. This is only for exporting as a DHTML format.
    • isEmbeddedScriptWithInThePageForDHTML

      public boolean isEmbeddedScriptWithInThePageForDHTML()
      return the state of embedding the script within the DHTML export This is only for exporting as a DHTML format
    • setEmbeddedScriptWithInThePageForDHTML

      public void setEmbeddedScriptWithInThePageForDHTML(boolean b)
      Sets whether to embed the script within the DHTML export This is only for exporting as a DHTML format
    • isAnimationOnForExpandAndCollapse

      public boolean isAnimationOnForExpandAndCollapse()
      return the state of the animation for expand and collapse feature This is only for exporting as a DHTML format
    • setAnimationOnForExpandAndCollapse

      public void setAnimationOnForExpandAndCollapse(boolean b)
      Sets whether to turn on the animation for expand and collapse feature This is only for exporting as a DHTML format
    • getScriptReportNameForExpandAndCollapse

      public String getScriptReportNameForExpandAndCollapse()
      return the script report name for expand and collapse feature This is only for exporting as a DHTML format
    • setScriptReportNameForExpandAndCollapse

      public void setScriptReportNameForExpandAndCollapse(String str)
      Sets the script report name for expand and collapse feature This is only for exporting as a DHTML format
    • setDHTMLBrowserMargin

      public void setDHTMLBrowserMargin(double d)
      Sets the DHTML Browser margin
    • getDynamicImageURLGenerator

      public IDynamicImageURLGenerator getDynamicImageURLGenerator()
      Gets the Dynamic Image URL Generator
    • setDynamicImageURLGenerator

      public void setDynamicImageURLGenerator(IDynamicImageURLGenerator generator)
      Sets the IDynamicImageURLGenerator implementing class that will generate custom links for dynamically exported images and charts.
    • getDynamicReportKeyGenerator

      public IDynamicReportKeyGenerator getDynamicReportKeyGenerator()
      Gets the IDynamicReportKeyGenerator
    • setDynamicReportKeyGenerator

      public void setDynamicReportKeyGenerator(IDynamicReportKeyGenerator generator)
      Sets the IDynamicReportKeyGenerator implementing class that will generate custom key for report Used by Dynamically export report.
    • setXMLEncoding

      public void setXMLEncoding(String enc)
      Sets the xml encoding when export to XML.
    • setPaperSize

      public void setPaperSize(String size)
      Sets the paper size of the report (LETTER or A4)
    • getParameterPage

      public ParameterPage getParameterPage(String reportLoc, String securityLevel, int format, String servletName)
      Gets the ParameterPage for this report if and only if this is a Parameterized Report
      Parameters:
      reportLoc - the .rpt file location
      securityLevel - the security level of the report
      format - the export format
      servletName - the name of the servlet
      Returns:
      the parameter page as a ParameterPage object
    • getParameterPage

      public ParameterPage getParameterPage(String reportLoc, String securityLevel, int format, String servletName, int order)
      Gets the ParameterPage for this report if and only if this is a Parameterized Report
      Parameters:
      reportLoc - the .rpt file location
      securityLevel - the security level of the report
      format - the export format
      servletName - the name of the servlet
      order - the report order
      Returns:
      the parameter page as a ParameterPage object
    • getParameterPage

      public ParameterPage getParameterPage(String reportLoc, int format)
      Gets the ParameterPage for this report if and only if this is a Parameterized Report. Short hand for getParameterPage(reportLoc, null, format, null);
      Parameters:
      reportLoc - the .rpt file location
      format - the export format
      Returns:
      the parameter page as a ParameterPage object
    • setSnapToGrid

      public void setSnapToGrid(boolean snapToGrid)
      the report property "snapToGrid" defaults to true, this constructor is used to set it to false so that you can place the cell anywhere.
    • getDescription

      public String getDescription(ReportElement elt)
      Return the description of this ReportElement
    • getDataSourceType

      public int getDataSourceType()
      Returns the type of the Data source
      Returns:
      the type of the data source of this report Return -1 if the source is not found
    • setExportEncoding

      public void setExportEncoding(String enc)
      Specifies the export encoding for DHTML/HTML
    • setHTMLCharset

      public void setHTMLCharset(String charset)
      Specifies the HTML/DHTML Charset property
    • setRTFEncoding

      @Deprecated public void setRTFEncoding(String enc)
      Deprecated.
      All RTF files are now written using Unicode, so they support all characters with no need to specify encoding
      Specifies the Rich text format encoding.
    • isUsing16ColorsForRTF

      public boolean isUsing16ColorsForRTF()
      Return the Rich text format color format. by default it is not using 16 colors format
    • setUsing16ColorsForRTF

      public void setUsing16ColorsForRTF(boolean b)
      Specifies the Rich text format color format. by default it is not using 16 colors format
    • setSubReportsQueryParameter

      public void setSubReportsQueryParameter(Hashtable<String,Parameter[]> table)
      This method stores query parameter values of subreports in the main report
      Parameters:
      Hashtable - table : it contains unshared parameters for each sub report. This is an example of how it is used:
       
              QbReport report = new QbReport(applet, "Templates/main-sub-queryparam.rpt", new Object[]{"ARC"});
              SubReportObject[] subReports = report.getSubReports();
              QbReport subReport = (QbReport)subReports[0].getSubReport(report);
              Vector queryParam = subReport.getQueryParameters();
      
              Vector params = new Vector();
              for (int i = 0; i invalid input: '<' queryParam.size(); i++) {
                      Parameter param = (Parameter)queryParam.elementAt(i);
                      if (!param.isShared()) params.addElement(param);
              }
              Parameter[] paramArray = new Parameter[params.size()];
              for (int i = 0; i invalid input: '<' params.size(); i++) {
                      paramArray[i] = new Parameter();
                      paramArray[i].copy((Parameter)params.elementAt(i));
                      paramArray[i].setValue(Integer.valueOf(10));
              }
      
              Hashtable table = new Hashtable();
              table.put(subReports[0].getFileName(), paramArray);
              report.setSubReportsQueryParameter(table);
       
                  
      See Also:
    • setSubReportFormulaParameter

      public void setSubReportFormulaParameter(Hashtable<String,Parameter[]> table)
      This method stores formula parameter values of subreports in the main report
      Parameters:
      Hashtable - table : it contains unshared formula parameters for each sub report. see setSubReportQueryParameter for example
      See Also:
    • setDrawBeforeExport

      public void setDrawBeforeExport(boolean state)
      Calculates column formula values with page, totalpage, section, totalsection when drawn for the first time before export
    • getAllParameters

      public Parameters getAllParameters()
      This is the simpliest way to obtain all parameters that needs to be set for this QbReport. This includes both query parameters and formula parameters in the root report and any sub-report(s)
      Returns:
      a Parameters Object that represents all parameters in this report
    • getAllParameters

      public Parameters getAllParameters(boolean ordered)
      This is the simpliest way to obtain all parameters in prompt sequence that needs to be set for this QbReport. This includes both query parameters and formula parameters in the root report and any sub-report(s)
      Returns:
      a Parameters Object that represents all parameters in this report
    • getBackgroundImage

      public ReportImage getBackgroundImage()
      Gets the background image of the report
    • setBackgroundImage

      public void setBackgroundImage(ReportImage c)
      Sets the background image of the report
    • clearSubReportCache

      public void clearSubReportCache()
      Manually clears the subreport cache. This is useful to reclaim memory
    • setAutoClearSubReportCache

      public void setAutoClearSubReportCache(boolean b)
      Automatically clears the subreport cache. This is useful to reclaim memory
    • setLimitSubReportQueryExecution

      public void setLimitSubReportQueryExecution(boolean b)
      When set to true, we try to modify linked sub report's query and only execute it once instead of fire one query for each sub report instance. This is efficient if your sub report is linked to the row break column and there are many row break values.
    • importFontMapping

      public void importFontMapping(String fontXml)
      Loads a global font mapping file (.xml) and sets the report's font mapping the file includes one or more entries, each entry mapps a font name and style to a .ttf file
      Parameters:
      fontXml - : the font mapping file
    • setDrillDownConnection

      public void setDrillDownConnection(Object httpSession, Connection conn)
      This method is to be used together with setAllDatabaseInfo() If you export a report with drilldown level to DHTML or HTML the drilldown report is sent to DrillDownReportServlet as a bytearray, but the connection object cannot be sent, so we save the Connection object in the session and the DrillDownReportServlet can retrieve the Connection object from the session later
      Parameters:
      httpSession - the HttpSession object in HttpServletRequest
      conn - java.sql.Connection database connection
    • setDrillDownDatabaseInfo

      public void setDrillDownDatabaseInfo(Object httpSession, String url, String driver, String usr, String pwd)
    • setSFDrillDownDatabaseInfo

      public void setSFDrillDownDatabaseInfo(Object httpSession, String sessionid, String serverurl, String clientid)
    • setDataRegistryLocation

      public void setDataRegistryLocation(String location) throws Exception
      Throws:
      Exception
    • setAllDataRegistryLocation

      public void setAllDataRegistryLocation(String location) throws Exception
      Throws:
      Exception
    • setExportNewlineDelimiter

      public void setExportNewlineDelimiter(String delim)
      Method to configure the new line delimiter for csv and txt exports.
      Parameters:
      delim - specifies the OS that you wish to open the file in.
       Available options and their new line characters:
              windows                 \r\n
              mac                     \r
              others                  \n
              system                  system line separator
       Use others if using Unix, Linux, or a variant of these OS
                  
    • setInternalStyleSheetName

      public void setInternalStyleSheetName(String name)
    • getHTMLTarget

      public String getHTMLTarget()
    • setHTMLTarget

      public void setHTMLTarget(String target)
    • setCenterDHTMLReport

      public void setCenterDHTMLReport(boolean b)
      Automatically adds tags to center the DHTML Report in the browser
      Parameters:
      b - - true to enable centering, false to disable centering (default is false)
    • saveAs

      @Deprecated public void saveAs(String filename, String relativeDomainPath)
      Deprecated.
      Deprecated. Use QbReport.export(QbReport.PAK, filename) instead. Saves a report under a different filename. Renames all drilldown and subreport references
      Parameters:
      filename - new filename to use
      relativeDomainPath - relative path for subreports, drilldowns, etc
    • getFileName

      public String getFileName()
    • setFileName

      public void setFileName(String fn)
    • getMinPageHeight

      public double getMinPageHeight()
      method to get the minimum page height needed to export/draw a multiple page report

      The minimum page height should be the maximum of the following: -- the page header height -- the page footer height -- the tallest element in the report -- the tallest element in the subreport

      plus the top and bottom margin height

      Returns:
      the minimum height needed to export the report
    • isPromptForParamValues

      public boolean isPromptForParamValues()
    • setPromptForParamValues

      public void setPromptForParamValues(boolean prompt)
    • getAllAlertIds

      public String[] getAllAlertIds()
      Description copied from interface: quadbase.common.util.IAlertable
      Get IDs of all possible alerts that can be triggered by this object.
      Specified by:
      getAllAlertIds in interface quadbase.common.util.IAlertable
      Returns:
      array of all possible IDs or null if no alerts can be triggered by this object
    • getTriggeredAlertIds

      public String[] getTriggeredAlertIds()
      Description copied from interface: quadbase.common.util.IAlertable
      Get IDs of all alerts that were triggered by this object during its last export.
      Specified by:
      getTriggeredAlertIds in interface quadbase.common.util.IAlertable
      Returns:
      IDs of all triggered alerts or null if there were no alerts triggered
    • getTriggeredAlertDetails

      public Map<String,Vector<String>> getTriggeredAlertDetails()
      Description copied from interface: quadbase.common.util.IAlertable
      Get details for triggered alerts. It contains information about each object that causes any alert. The information for each object are value that caused the alert and some details to identify the value. For example for chart, it is series, category and value. For map it is AreaID and value that was compared to the threshold.
      Specified by:
      getTriggeredAlertDetails in interface quadbase.common.util.IAlertable
      Returns:
      Map - keys are alert IDs and values are Vectors of strings with details. Each element of the vector is detail for one object (e.g. data point in chart or area in SVG map) that caused alert with given ID.
    • clearReportParameterValues

      public void clearReportParameterValues()
    • isKeepDataSourceOrder

      public boolean isKeepDataSourceOrder()
    • setKeepDataSourceOrder

      public void setKeepDataSourceOrder(boolean keepDataSourceOrder)