Class DesignEngine

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

public final class DesignEngine extends 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:
  • Field Details

    • errorLogger

      protected static final Logger errorLogger
      The logger for errors.
    • cachedFactory

      protected static IDesignEngineFactory cachedFactory
    • engine

      protected IDesignEngine engine
      The implementation of the design engine.
  • Constructor Details

    • DesignEngine

      public DesignEngine(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:
    • newSession

      @Deprecated 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:
    • 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

      @Deprecated 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

      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:
    • 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.