Class 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 Detail

      • errorLogger

        protected static final 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

        @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:
        SessionHandle
      • 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(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.