Class SessionHandle


  • public class SessionHandle
    extends java.lang.Object
    Represents the design state -- a session for a user. In the Eclipse environment, this represents the set of open designs. In the web environment, this represents open designs and locale for the session. A session has a set of default values for style properties and a default unit. The session also has methods to create and open designs.

    A session can also provides the mechanism for specified file searching algorithm. After get an new instance of SessionHandle, an algorithm of how to search a file should be set by calling setResourceLocator(IResourceLocator) if the default resource locator is not the expected one.

    The default resource locator will search in the folder where the design file is located.

    See Also:
    ResourceLocatorImpl, DesignSession
    • Field Detail

      • session

        protected org.eclipse.birt.report.model.core.DesignSession session
        The implementation of the design session.
    • Constructor Detail

      • SessionHandle

        @Deprecated
        public SessionHandle​(java.util.Locale locale)
        Deprecated.
        to use ICU4J, this method is replaced by: SessionHandle(ULocale locale)
        Constructs a handle for the session with the given locale.
        Parameters:
        locale - the user's locale. If null, then the system locale is assumed.
      • SessionHandle

        public SessionHandle​(com.ibm.icu.util.ULocale locale)
        Constructs a handle for the session with the given locale.
        Parameters:
        locale - the user's locale which is ULocale. If null, then the system locale is assumed.
    • Method Detail

      • setBirtResourcePath

        public static void setBirtResourcePath​(java.lang.String resourcePath)
        Sets resource path.
        Parameters:
        resourcePath - the resource path to set. It must be an absolute path based on file system and must present a dictory.
      • getBirtResourcePath

        public static java.lang.String getBirtResourcePath()
        Gets resource path. setBirtResourcePath(String)
        Returns:
        the resource path set in the session
      • activate

        public void activate()
        Activates this session within a thread. Used in the web environment to associate this session with a message thread or that the client user startup a new thread. Required to allow the thread to access localized messages.
      • openModule

        public ModuleHandle openModule​(java.lang.String fileName,
                                       java.io.InputStream is)
                                throws DesignFileException
        Opens a module regardless of the module type(library or report design). design.
        Parameters:
        fileName - name of the file to open.
        is - stream to read the design
        Returns:
        handle to the report design
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • openModule

        public ModuleHandle openModule​(java.lang.String fileName,
                                       java.io.InputStream is,
                                       ModuleOption options)
                                throws DesignFileException
        Opens a module regardless of the module type(library or report design). design.
        Parameters:
        fileName - name of the file to open.
        is - stream to read the design
        options - the options set for this module
        Returns:
        handle to the report design
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • openModule

        public ModuleHandle openModule​(java.lang.String fileName)
                                throws DesignFileException
        Opens a module regardless of the module type(library or report design). design.
        Parameters:
        fileName - name of the file to open.
        Returns:
        handle to the report design
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • openModule

        public ModuleHandle openModule​(java.lang.String fileName,
                                       ModuleOption options)
                                throws DesignFileException
        Opens a module regardless of the module type(library or report design). design.
        Parameters:
        fileName - name of the file to open.
        options - the options set for this module
        Returns:
        handle to the report design
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • openDesign

        public ReportDesignHandle openDesign​(java.lang.String fileName)
                                      throws DesignFileException
        Opens a design with the given the file name.
        Parameters:
        fileName - name of the file to open. It may contain the relative/absolute path information. This name must include the file name with the filename extension.
        Returns:
        handle to the report design
        Throws:
        DesignFileException - if the file is not found, or the file contains fatal errors.
      • openDesign

        public ReportDesignHandle openDesign​(java.lang.String fileName,
                                             ModuleOption options)
                                      throws DesignFileException
        Opens a design with the given the file name.
        Parameters:
        fileName - name of the file to open. It may contain the relative/absolute path information. This name must include the file name with the filename extension.
        options - the options set for this module
        Returns:
        handle to the report design
        Throws:
        DesignFileException - if the file is not found, or the file contains fatal errors.
      • openDesign

        public ReportDesignHandle openDesign​(java.lang.String fileName,
                                             java.io.InputStream is)
                                      throws DesignFileException
        Opens a design given a stream to the design and the the file name of the design.
        Parameters:
        fileName - name of the file to open. If null, the design will be treated as a new design, and will be saved to a different file. If not null, it may contain the relative/absolute path information. This name must include the file name with the filename extension.
        is - stream to read the design
        Returns:
        handle to the report design
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • openDesign

        public ReportDesignHandle openDesign​(java.lang.String fileName,
                                             java.io.InputStream is,
                                             ModuleOption options)
                                      throws DesignFileException
        Opens a design given a stream to the design and the the file name of the design.
        Parameters:
        fileName - name of the file to open. If null, the design will be treated as a new design, and will be saved to a different file. If not null, it may contain the relative/absolute path information. This name must include the file name with the filename extension.
        is - stream to read the design
        options - options set for this module
        Returns:
        handle to the report design
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • openDesign

        public ReportDesignHandle openDesign​(java.net.URL systemId,
                                             java.io.InputStream is)
                                      throws DesignFileException
        Opens a design given a stream to the design and the the file name of the design. *
        Parameters:
        systemId - the uri where to find the relative sources for the report. This url is treated as an absolute directory.
        is - the input stream to read the design
        Returns:
        handle to the report design
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • openDesign

        public ReportDesignHandle openDesign​(java.net.URL systemId,
                                             java.io.InputStream is,
                                             ModuleOption options)
                                      throws DesignFileException
        Opens a design given a stream to the design and the the file name of the design. *
        Parameters:
        systemId - the uri where to find the relative sources for the report. This url is treated as an absolute directory.
        is - the input stream to read the design
        options - the options set for this module
        Returns:
        handle to the report design
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • openLibrary

        public LibraryHandle openLibrary​(java.lang.String fileName)
                                  throws DesignFileException
        Opens a library with the given the file name.
        Parameters:
        fileName - name of the file to open. This name must include the file name with the filename extension.
        Returns:
        handle to the library
        Throws:
        DesignFileException - if the file is not found, or the file contains fatal errors.
      • openLibrary

        public LibraryHandle openLibrary​(java.lang.String fileName,
                                         ModuleOption options)
                                  throws DesignFileException
        Opens a library with the given the file name.
        Parameters:
        fileName - name of the file to open. This name must include the file name with the filename extension.
        options - the options set for this module
        Returns:
        handle to the library
        Throws:
        DesignFileException - if the file is not found, or the file contains fatal errors.
      • openLibrary

        public LibraryHandle openLibrary​(java.lang.String fileName,
                                         java.io.InputStream is)
                                  throws DesignFileException
        Opens a library given a stream to the design and the the file name of the design.
        Parameters:
        fileName - name of the file to open. If null, the library will be treated as a new library, and will be saved to a different file. If not null, it may contain the relative/absolute path information. This name must include the file name with the filename extension.
        is - the stream to read the library
        Returns:
        the library instance
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • openLibrary

        public LibraryHandle openLibrary​(java.lang.String fileName,
                                         java.io.InputStream is,
                                         ModuleOption options)
                                  throws DesignFileException
        Opens a library given a stream to the design and the the file name of the design.
        Parameters:
        fileName - name of the file to open. If null, the library will be treated as a new library, and will be saved to a different file. If not null, it may contain the relative/absolute path information. This name must include the file name with the filename extension.
        is - the stream to read the library
        options - the options set for this module
        Returns:
        the library instance
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • openLibrary

        public LibraryHandle openLibrary​(java.net.URL systemId,
                                         java.io.InputStream is)
                                  throws DesignFileException
        Opens a library with the given the file name.
        Parameters:
        systemId - the uri where to find the relative sources for the library. This url is treated as an absolute directory.
        is - the input stream
        Returns:
        handle to the library
        Throws:
        DesignFileException - if the file is not found, or the file contains fatal errors.
      • openLibrary

        public LibraryHandle openLibrary​(java.net.URL systemId,
                                         java.io.InputStream is,
                                         ModuleOption options)
                                  throws DesignFileException
        Opens a library with the given the file name.
        Parameters:
        systemId - the uri where to find the relative sources for the library. This url is treated as an absolute directory.
        is - the input stream
        options - the options set for this module
        Returns:
        handle to the library
        Throws:
        DesignFileException - if the file is not found, or the file contains fatal errors.
      • createDesign

        public ReportDesignHandle createDesign​(java.lang.String fileName)
        Creates a new design based on a file name.
        Parameters:
        fileName - file name.
        Returns:
        A handle to the report design.
      • createDesign

        public ReportDesignHandle createDesign​(java.lang.String fileName,
                                               ModuleOption options)
        Creates a new design based on the file name and the module options.
        Parameters:
        fileName -
        options -
        Returns:
        new report design handle.
      • createDesignFromTemplate

        public ReportDesignHandle createDesignFromTemplate​(java.lang.String templateDesignName)
                                                    throws DesignFileException
        Creates a new design based on a template file.
        Parameters:
        templateDesignName - The name of the template for the design.
        Returns:
        A handle to the report design.
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • createDesignFromTemplate

        public ReportDesignHandle createDesignFromTemplate​(java.lang.String templateDesignName,
                                                           java.io.InputStream is)
                                                    throws DesignFileException
        Creates a new design based a given template file name and input stream.
        Parameters:
        templateDesignName - The name of the template for the design.
        Returns:
        A handle to the report design.
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • createLibraryFromTemplate

        public LibraryHandle createLibraryFromTemplate​(java.lang.String templateLibraryName)
                                                throws DesignFileException
        Creates a new library based on a template file.
        Parameters:
        templateLibraryName - The name of the template for the library.
        Returns:
        A handle to the report library.
        Throws:
        DesignFileException - If the file is not found, or the file contains fatal errors.
      • createDesign

        public ReportDesignHandle createDesign()
        Creates a new empty design. This new design is not based on a template.
        Returns:
        the handle of the new report design.
      • createLibrary

        public LibraryHandle createLibrary()
        Creates a new empty library.
        Returns:
        the handle of the new library.
      • saveAll

        public void saveAll()
                     throws java.io.IOException
        Saves all designs and librariesthat need a save.
        Throws:
        java.io.IOException - if a save error occurs
      • closeAll

        public void closeAll​(boolean save)
                      throws java.io.IOException
        Closes all open designs and libraires.
        Parameters:
        save - true if designs are to be saved before closing
        Throws:
        java.io.IOException - if a save error occurs
      • setApplicationUnits

        public void setApplicationUnits​(java.lang.String units)
                                 throws PropertyValueException
        Sets the units to be used by the application. These units are independent of those set for the design. The application and design can use the same units, or different units. The application units are those used when getting and setting dimension properties using double (float) values. The possible values are defined in DesignChoiceConstants and can be one of:
        • UNITS_IN
        • UNITS_CM
        • UNITS_MM
        • UNITS_PT
        • UNITS_PC
        Parameters:
        units - the units to set for the session -- application
        Throws:
        PropertyValueException - if units is not one of the above
        See Also:
        DimensionValue
      • getApplicationUnits

        public java.lang.String getApplicationUnits()
        Returns the current session (application) units. The return values are defined in DesignChoiceConstants and is one of:
        • UNITS_IN
        • UNITS_CM
        • UNITS_MM
        • UNITS_PT
        • UNITS_PC
        Returns:
        the application units
        See Also:
        setApplicationUnits(java.lang.String)
      • setColorFormat

        public void setColorFormat​(int rgbFormat)
                            throws PropertyValueException
        Sets the rgb color display preference to be used by the application. If the preference is not set the application will use default CSS_ABSOLUTE_FORMAT like "RGB(255,0,0)" for a rgb color display value. The rgbFormat argument is an integer value that may be the following constants defined in ColorUtil:
        • INT_FORMAT
        • HTML_FORMAT
        • JAVA_FORMAT
        • CSS_ABSOLUTE_FORMAT
        • CSS_RELATIVE_FORMAT
        Parameters:
        rgbFormat - the rgb color display preference to set.
        Throws:
        PropertyValueException - if rgbFormat is not one of the above.
        See Also:
        ColorPropertyType
      • getColorFormat

        public int getColorFormat()
        Returns the current application rgb color display preference. The return is one of the following constants defined in ColorUtil:
        • INT_FORMAT
        • HTML_FORMAT
        • JAVA_FORMAT
        • CSS_ABSOLUTE_FORMAT
        • CSS_RELATIVE_FORMAT
        Returns:
        application rgb color display preference
        See Also:
        setColorFormat(int)
      • setDefaultValue

        public void setDefaultValue​(java.lang.String propName,
                                    java.lang.Object value)
                             throws PropertyValueException
        Sets the specified default value of style property.
        Parameters:
        propName - style property name
        value - default value to set
        Throws:
        PropertyValueException - if value is invalid.
      • getDefaultValue

        public java.lang.Object getDefaultValue​(java.lang.String propName)
        Gets the default value of the specified style property.
        Parameters:
        propName - style property name
        Returns:
        The default value of this style property. If the default value is not set, return null.
      • setResourceLocator

        public void setResourceLocator​(IResourceLocator locator)
        Sets the resource locator for the specified file searching algorithm.
        Parameters:
        locator - the resource locator to be set.
      • getResourceLocator

        public IResourceLocator getResourceLocator()
        Returns the installed resource locator.
        Returns:
        the resource locator.
      • getLocale

        @Deprecated
        public java.util.Locale getLocale()
        Deprecated.
        to use ICU4J, replaced by: public ULocale getLocale()
        Returns the locale of the current session.
        Returns:
        the locale of the current session
      • getULocale

        public com.ibm.icu.util.ULocale getULocale()
        Returns the locale of the current session.
        Returns:
        the locale of the current session, the return value is of ULocale.
      • fireResourceChange

        public void fireResourceChange​(ResourceChangeEvent ev)
        Informs this session some resources is changed. Session will check all opened mudules, all interfered modules will be informed of the changes.

        Current, only changes of library is supported.

        Parameters:
        ev - the resource change event to fire
      • addResourceChangeListener

        public void addResourceChangeListener​(IResourceChangeListener listener)
        Adds one resource change listener. The duplicate listener will not be added.
        Parameters:
        listener - the resource change listener to add
      • removeResourceChangeListener

        public boolean removeResourceChangeListener​(IResourceChangeListener listener)
        Removes one resource change listener. If the listener not registered, then the request is silently ignored.
        Parameters:
        listener - the resource change listener to remove
        Returns:
        true if listener is successfully removed. Otherwise false.
      • setResourceFolder

        public void setResourceFolder​(java.lang.String resourceFolder)
        Sets the resource folder for this session.
        Parameters:
        resourceFolder - the folder to set
      • getResourceFolder

        public java.lang.String getResourceFolder()
        Gets the resource folder set in this session.
        Returns:
        the resource folder set in this session
      • getDefaultTOCStyle

        public StyleHandle getDefaultTOCStyle​(java.lang.String name)
        Gets default TOC Style.Heading 1 -> Heading 10.
        Parameters:
        name - style name
        Returns:
        style handle which is read only.
      • getPredefinedFontSizeProvider

        public IAbsoluteFontSizeValueProvider getPredefinedFontSizeProvider()
        Returns the provider instance which provides the absolute dimension value of predefined font size choice.
        • FONT_SIZE_XX_SMALL
        • FONT_SIZE_X_SMALL
        • FONT_SIZE_SMALL
        • FONT_SIZE_MEDIUM
        • FONT_SIZE_LARGE
        • FONT_SIZE_X_LARGE
        • FONT_SIZE_XX_LARGE
        Returns:
        the instance of IAbsoluteFontSizeValueProvider