Package org.eclipse.birt.report.model.api

# Interface IDesignEngine

All Known Implementing Classes:
  `DesignEngine`, `DesignEngineImpl`

public interface IDesignEngine
Represents the BIRT design engine as a whole. Used to create new sessions.

See Also:
  - `IMetaLogger`

## Method Summary

Modifier and Type
Method
Description
`IMetaDataDictionary`
`getMetaData()`
Gets the meta-data of the design engine.
`SessionHandle`
`newSessionHandle(com.ibm.icu.util.ULocale locale)`
Creates a new design session handle.
`IReportDesign`
`openDesign(String fileName, 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`.

## Method Details

### getMetaData

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

Returns:
  the meta-data of the design engine

### newSessionHandle

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.

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

### registerMetaLogger

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.

Parameters:
  `newLogger` - the `MetaLogger` to be registered.
See Also:
  - `removeMetaLogger(IMetaLogger)`

### removeMetaLogger

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.

Parameters:
  `logger` - the `MetaLogger` to be removed.
Returns:
  `true` if this logger manager contained the specified logger.
See Also:
  - `registerMetaLogger(IMetaLogger)`

### openDesign

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

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.