org.eclipse.birt.report.engine.api
Class ReportEngine

java.lang.Object
  extended byorg.eclipse.birt.report.engine.api.ReportEngine

public class ReportEngine
extends java.lang.Object

A report engine provides an entry point for reporting functionalities. It is where the report generation and rendering process are globally customized. It is also the place where engine statistics are collected. Through report engine, reports can be generated and rendered to different output formats. Queries can also be executed for preview purpose without involving a full report generation.

Engine supports running different types of tasks. Example tasks include running a report design to generate a report instance file, rendering a report instance to output format, running a report directly to output, running a dataset for preview, seaching a report, etc.


Field Summary
protected  EngineConfig config
          engine configuration object
protected  org.eclipse.birt.report.engine.api.impl.ReportEngineHelper helper
          A helper object to carry out most ReportEngine jobs
protected static java.util.logging.Logger logger
           
protected  org.mozilla.javascript.ScriptableObject rootScope
          root script scope.
 
Constructor Summary
ReportEngine(EngineConfig config)
          Constructor.
 
Method Summary
 void changeLogLevel(java.util.logging.Level newLevel)
          Change the log level to newLevel
 IDataExtractionTask createDataExtractionTask(IReportDocument reportDocument)
          creates a task that allows data extraction from a report document
 IDataPreviewTask createDataPreviewTask(IReportRunnable reportRunnable)
           
 IGetParameterDefinitionTask createGetParameterDefinitionTask(IReportRunnable reportRunnable)
          creates an engine task for obtaining report parameter definitions
 IRenderTask createRenderTask(IReportDocument reportDocument)
          creates a task that renders the report to a specific output format.
 IRunAndRenderTask createRunAndRenderTask(IReportRunnable reportRunnable)
          creates an engine task for running and rendering report directly to output format
 IRunTask createRunTask(IReportRunnable reportRunnable)
          creates a task to run a report to generate a report document
 void destroy()
          shuts down the report engine
 EngineConfig getConfig()
          returns the engine configuration object
 java.lang.String getMIMEType(java.lang.String format)
          the MIME type for the specific formatted supported by the extension.
 org.mozilla.javascript.ScriptableObject getRootScope()
          get the root scope used by the engine
 java.lang.String[] getSupportedFormats()
          returns all supported output formats through BIRT engine emitter extensions
 IReportRunnable openReportDesign(java.io.InputStream designStream)
          opens a report design stream and creates a report design runnable.
 IReportRunnable openReportDesign(java.lang.String designName)
          opens a report design file and creates a report design runnable.
 IReportRunnable openReportDesign(java.lang.String name, java.io.InputStream designStream)
           
 IReportDocument openReportDocument(java.lang.String fileName)
          opens a report document and returns an IReportDocument object, from which further information can be retrieved.
 void shutdown()
          shut down the engine, release all the resources.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static java.util.logging.Logger logger

config

protected EngineConfig config
engine configuration object


helper

protected org.eclipse.birt.report.engine.api.impl.ReportEngineHelper helper
A helper object to carry out most ReportEngine jobs


rootScope

protected org.mozilla.javascript.ScriptableObject rootScope
root script scope. contains objects shared by the whole engine.

Constructor Detail

ReportEngine

public ReportEngine(EngineConfig config)
Constructor. If config is null, engine derives BIRT_HOME from the location of the engine jar file, and derives data driver directory as $BIRT_HOME/drivers. For a simple report with no images and links, engine will run without complaining. If the report has image/chart defined, the engine has to be configured with relevant image and chart handlers.

Parameters:
config - an engine configuration object used to configure the engine
Method Detail

getRootScope

public org.mozilla.javascript.ScriptableObject getRootScope()
get the root scope used by the engine

Returns:

changeLogLevel

public void changeLogLevel(java.util.logging.Level newLevel)
Change the log level to newLevel

Parameters:
newLevel - - new log level

getConfig

public EngineConfig getConfig()
returns the engine configuration object

Returns:
the engine configuration object

openReportDesign

public IReportRunnable openReportDesign(java.lang.String designName)
                                 throws EngineException
opens a report design file and creates a report design runnable. From the ReportRunnable object, embedded images and parameter definitions can be retrieved. Constructing an engine task requires a report design runnable object.

Parameters:
designName - the full path of the report design file
Returns:
a report design runnable object
Throws:
EngineException - throwed when the input file does not exist, or the file is invalid

openReportDesign

public IReportRunnable openReportDesign(java.io.InputStream designStream)
                                 throws EngineException
opens a report design stream and creates a report design runnable. From the ReportRunnable object, embedded images and parameter definitions can be retrieved. Constructing an engine task requires a report design runnableobject.

Parameters:
designStream - the report design input stream
Returns:
a report design runnable object
Throws:
EngineException - throwed when the input stream is null, or the stream does not yield a valid report design

openReportDesign

public IReportRunnable openReportDesign(java.lang.String name,
                                        java.io.InputStream designStream)
                                 throws EngineException
Throws:
EngineException

createRunAndRenderTask

public IRunAndRenderTask createRunAndRenderTask(IReportRunnable reportRunnable)
creates an engine task for running and rendering report directly to output format

Parameters:
reportRunnable - the runnable report design object
Returns:
a run and render report task

createGetParameterDefinitionTask

public IGetParameterDefinitionTask createGetParameterDefinitionTask(IReportRunnable reportRunnable)
creates an engine task for obtaining report parameter definitions

Parameters:
reportRunnable - the runnable report design object
Returns:
a run and render report task

createDataPreviewTask

public IDataPreviewTask createDataPreviewTask(IReportRunnable reportRunnable)

getSupportedFormats

public java.lang.String[] getSupportedFormats()
returns all supported output formats through BIRT engine emitter extensions

Returns:
all supported output formats through BIRT engine emitter extensions

getMIMEType

public java.lang.String getMIMEType(java.lang.String format)
the MIME type for the specific formatted supported by the extension.

Parameters:
format - the output format
Returns:
the MIME type for the specific formatted supported by the extension.

destroy

public void destroy()
shuts down the report engine


createRunTask

public IRunTask createRunTask(IReportRunnable reportRunnable)
creates a task to run a report to generate a report document

Parameters:
reportRunnable - the runnable report design object
Returns:
a task that runs the report

createRenderTask

public IRenderTask createRenderTask(IReportDocument reportDocument)
creates a task that renders the report to a specific output format.

Parameters:
reportDocument - a handle to an IReportDocument object
Returns:
a task that renders a report to an output format

openReportDocument

public IReportDocument openReportDocument(java.lang.String fileName)
                                   throws EngineException
opens a report document and returns an IReportDocument object, from which further information can be retrieved.

Parameters:
fileName - the report document name. report document is an archive in BIRT.
Returns:
A handle to the report document
Throws:
EngineException - throwed when the report document archive does not exist, or the file is not a valud report document

createDataExtractionTask

public IDataExtractionTask createDataExtractionTask(IReportDocument reportDocument)
creates a task that allows data extraction from a report document

Parameters:
reportDocument - a handle to an IReportDocument object
Returns:
a task that renders a report to an output format

shutdown

public void shutdown()
shut down the engine, release all the resources.



Copyright © 2005 Actuate Corp. All rights reserved.