org.eclipse.birt.report.model.api
Class DesignEngine

java.lang.Object
  extended by org.eclipse.birt.report.model.api.DesignEngine
All Implemented Interfaces:
IDesignEngine

public final class DesignEngine
extends java.lang.Object
implements IDesignEngine

Represents the BIRT design engine as a whole. Used to create new designs or open existing designs.

The design engine uses meta-data defined in an external file. This file is defined by BIRT and should both be available and valid. However, if an application wants to catch and handle errors associated with this file, it can create and register an instance of IMetaLogger before creating or opening the first report design. The logger is most useful for test suites.

This is a wrapper class for the IDesignEngine. The new user should use the IDesignEngineFactory to create the IDesignEngine instead of use this class directly.

See Also:
IMetaLogger, MetaLogManager

Field Summary
protected  IDesignEngine engine
          The implementation of the design engine.
protected static java.util.logging.Logger errorLogger
          The logger for errors.
 
Constructor Summary
DesignEngine(DesignConfig config)
          Constructs a DesignEngine with the given platform config.
 
Method Summary
 IMetaDataDictionary getMetaData()
          Gets the meta-data of the design engine.
static IMetaDataDictionary getMetaDataDictionary()
          Deprecated.  
static SessionHandle newSession(com.ibm.icu.util.ULocale locale)
          Deprecated.  
 SessionHandle newSessionHandle(com.ibm.icu.util.ULocale locale)
          Creates a new design session handle.
 IReportDesign openDesign(java.lang.String fileName, java.io.InputStream ins, IModuleOption options)
          Opens the report design.
 void registerMetaLogger(IMetaLogger newLogger)
          Registers a IMetaLogger to record initialization errors.
 boolean removeMetaLogger(IMetaLogger logger)
          Removes a IMetaLogger.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

errorLogger

protected static java.util.logging.Logger errorLogger
The logger for errors.


engine

protected IDesignEngine engine
The implementation of the design engine.

Constructor Detail

DesignEngine

public DesignEngine(DesignConfig config)
Constructs a DesignEngine with the given platform config.

Parameters:
config - the platform config.
Method Detail

newSessionHandle

public SessionHandle newSessionHandle(com.ibm.icu.util.ULocale locale)
Creates a new design session handle. The application uses the handle to open, create and manage designs. The session also represents the user and maintains the user's locale information.

Specified by:
newSessionHandle in interface IDesignEngine
Parameters:
locale - the user's locale. If null, uses the system locale.
Returns:
the design session handle
See Also:
SessionHandle

newSession

public static SessionHandle newSession(com.ibm.icu.util.ULocale locale)
Deprecated. 

Creates a new design session handle. The application uses the handle to open, create and manage designs. The session also represents the user and maintains the user's locale information.

This method is not suggested to use. The user should use new DesignEngine(config).newSessionHandle() to create the session.

Parameters:
locale - the user's locale. If null, uses the system locale.
Returns:
the design session handle
See Also:
SessionHandle

getMetaData

public IMetaDataDictionary getMetaData()
Gets the meta-data of the design engine.

Specified by:
getMetaData in interface IDesignEngine
Returns:
the meta-data of the design engine.

getMetaDataDictionary

public static IMetaDataDictionary getMetaDataDictionary()
Deprecated. 

Gets the meta-data dictionary of the design engine.

This method is not suggested to use. The user should use new DesignEngine(config).getMetaData() to get the metadata dictionary.

Returns:
the meta-data dictionary of the design engine

registerMetaLogger

public void registerMetaLogger(IMetaLogger newLogger)
Registers a IMetaLogger to record initialization errors. The logger will be notified of the errors during meta-data initialization. The meta-data system will be initialized once (and only once). Loggers should be registered before the first time a session is created so that it can be notified of the logging actions.

Specified by:
registerMetaLogger in interface IDesignEngine
Parameters:
newLogger - the MetaLogger to be registered.
See Also:
removeMetaLogger(IMetaLogger)

removeMetaLogger

public boolean removeMetaLogger(IMetaLogger logger)
Removes a IMetaLogger. This method will remove the logger from the list and close the logger if it has already been registered. The logger will no longer be notified of the errors during metadata initialization. Returns true if this logger manager contained the specified logger.

Specified by:
removeMetaLogger in interface IDesignEngine
Parameters:
logger - the MetaLogger to be removed.
Returns:
true if this logger manager contained the specified logger.
See Also:
registerMetaLogger(IMetaLogger)

openDesign

public IReportDesign openDesign(java.lang.String fileName,
                                java.io.InputStream ins,
                                IModuleOption options)
                         throws DesignFileException
Opens the report design.

Specified by:
openDesign in interface IDesignEngine
Parameters:
fileName - the report file name
ins - the input stream. Can be null.
options - options to control the way to open the design
Returns:
the report design instance
Throws:
DesignFileException - if the report file cannot be found or the file is invalid.


Copyright © 2008 Actuate Corp. All rights reserved.