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

# Class DesignEngineImpl

java.lang.Object
org.eclipse.birt.report.model.api.impl.DesignEngineImpl

All Implemented Interfaces:
  `IDesignEngine`

public class DesignEngineImpl extends Object implements IDesignEngine
Implementation of DesignEngine.

## Constructor Summary

Constructors
Constructor
Description
`DesignEngineImpl(DesignConfig config)`
Constructs a DesignEngine with the given platform config.

## 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`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### DesignEngineImpl

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

Parameters:
  `config` - the platform config.

## Method Details

### 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`

### 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.

### 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(String fileName, 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.