Class LibraryHandleImpl

All Implemented Interfaces:
IModuleModel, org.eclipse.birt.report.model.elements.interfaces.IDesignElementModel, org.eclipse.birt.report.model.elements.interfaces.IInternalLibraryModel, org.eclipse.birt.report.model.elements.interfaces.ILibraryModel
Direct Known Subclasses:
LibraryHandle

public abstract class LibraryHandleImpl extends ModuleHandle implements org.eclipse.birt.report.model.elements.interfaces.ILibraryModel
  • Constructor Details

    • LibraryHandleImpl

      public LibraryHandleImpl(org.eclipse.birt.report.model.core.Module module)
  • Method Details

    • getHostHandle

      public ModuleHandle getHostHandle()
      Returns the host handle which includes the library.
      Returns:
      the host handle which include this library.
    • getNamespace

      public String getNamespace()
      Returns the library namespace, which identifies one library unqiuely in one design file.
      Returns:
      the library namespace
    • getThemes

      public SlotHandle getThemes()
      Returns a slot handle to work with the themes within the library. Note that the order of the data sets within the slot is unimportant.
      Returns:
      A handle for working with the themes.
    • getStyles

      @Deprecated public SlotHandle getStyles()
      Deprecated.
      uses the theme instead
      Returns a slot handle to work with the styles within the library.
      Returns:
      A handle for working with the styles. Or null if the library has no values for the theme property
    • importCssStyles

      public void importCssStyles(CssStyleSheetHandle stylesheet, List selectedStyles)
      Import css file to theme.
      Overrides:
      importCssStyles in class ModuleHandleImpl
      Parameters:
      stylesheet - the style sheet handle that contains all the selected styles
      selectedStyles - the selected style list
    • importCssStyles

      public void importCssStyles(CssStyleSheetHandle stylesheet, List selectedStyles, String themeName)
      Imports the selected styles in a CssStyleSheetHandle to the given theme of the library. Each in the list is instance of SharedStyleHandle .If any style selected has a duplicate name with that of one style already existing in the report design, this method will rename it and then add it to the design.
      Parameters:
      stylesheet - the style sheet handle that contains all the selected styles
      selectedStyles - the selected style list
      themeName - the name of the theme to put styles
    • getCubes

      public SlotHandle getCubes()
      Description copied from class: ModuleHandleImpl
      Gets the slot handle to work with all cube elements within the report.
      Specified by:
      getCubes in class ModuleHandleImpl
      Returns:
      cube slot handle
    • getRelativeFileName

      public String getRelativeFileName()
      If this library is included by a module, return the relative file name that is defined in the host's xml file.
      Returns:
      the relative file name that is defined in the host's xml file
    • isDirectionRTL

      public boolean isDirectionRTL()
      Description copied from class: DesignElementHandle
      Examines whether the resolved direction of this design element is Right to Left or not.
      Overrides:
      isDirectionRTL in class DesignElementHandle
      Returns:
      true if the direction is RTL, false otherwise
    • addConfigVariable

      public void addConfigVariable(ConfigVariable configVar) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Adds a new config variable.
      Overrides:
      addConfigVariable in class ModuleHandleImpl
      Parameters:
      configVar - the config variable
      Throws:
      SemanticException - if the name is empty or the same name exists.
    • addImage

      public void addImage(EmbeddedImage image) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Adds a new embedded image.
      Overrides:
      addImage in class ModuleHandleImpl
      Parameters:
      image - the image to add
      Throws:
      SemanticException - if the name is empty, type is invalid, or the same name exists.
    • addTranslation

      public void addTranslation(String resourceKey, String locale, String text) throws CustomMsgException
      Description copied from class: ModuleHandleImpl
      Adds a new translation to the design.
      Overrides:
      addTranslation in class ModuleHandleImpl
      Parameters:
      resourceKey - resource key for the message
      locale - the string value of a locale for the translation. Locale should be in java-defined format( en, en-US, zh_CN, etc.)
      text - translated text for the locale
      Throws:
      CustomMsgException - if the resource key is duplicate or missing, or locale is not a valid format.
      See Also:
    • dropConfigVariable

      public void dropConfigVariable(String name) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Drops a config variable.
      Overrides:
      dropConfigVariable in class ModuleHandleImpl
      Parameters:
      name - config variable name
      Throws:
      SemanticException - if no config variable is found.
    • dropImage

      public void dropImage(List images) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Drops an embedded image handle list from the design. Each one in the list is the instance of EmbeddedImageHandle.
      Overrides:
      dropImage in class ModuleHandleImpl
      Parameters:
      images - the image handle list to remove
      Throws:
      SemanticException - if any image in the list is not found.
    • dropImage

      public void dropImage(String name) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Drops an embedded image from the design.
      Overrides:
      dropImage in class ModuleHandleImpl
      Parameters:
      name - the image name
      Throws:
      SemanticException - if the image is not found.
    • dropTranslation

      public void dropTranslation(String resourceKey, String locale) throws CustomMsgException
      Description copied from class: ModuleHandleImpl
      Drops a translation from the design.
      Overrides:
      dropTranslation in class ModuleHandleImpl
      Parameters:
      resourceKey - resource key of the message in which this translation saves.
      locale - the string value of the locale for a translation. Locale should be in java-defined format( en, en-US, zh_CN, etc.)
      Throws:
      CustomMsgException - if resourceKey is null.
      See Also:
    • getComponents

      public SlotHandle getComponents()
      Description copied from class: ModuleHandleImpl
      Returns a slot handle to work with the top-level components within the report.
      Overrides:
      getComponents in class ModuleHandleImpl
      Returns:
      A handle for working with the components.
    • getDataSets

      public SlotHandle getDataSets()
      Description copied from class: ModuleHandleImpl
      Returns a slot handle to work with the data sets within the report. Note that the order of the data sets within the slot is unimportant.
      Overrides:
      getDataSets in class ModuleHandleImpl
      Returns:
      A handle for working with the data sets.
    • getDataSources

      public SlotHandle getDataSources()
      Description copied from class: ModuleHandleImpl
      Returns a slot handle to work with the data sources within the report. Note that the order of the data sources within the slot is unimportant.
      Overrides:
      getDataSources in class ModuleHandleImpl
      Returns:
      A handle for working with the data sources.
    • getFlattenParameters

      public List getFlattenParameters()
      Description copied from class: ModuleHandleImpl
      Returns the flatten Parameters/ParameterGroups of the design. This method put all Parameters and ParameterGroups into a list then return it. The return list is sorted by on the display name of the parameters.
      Overrides:
      getFlattenParameters in class ModuleHandleImpl
      Returns:
      the sorted, flatten parameters and parameter groups.
    • getMasterPages

      public SlotHandle getMasterPages()
      Description copied from class: ModuleHandleImpl
      Returns a slot handle to work with the master pages within the report. Note that the order of the master pages within the slot is unimportant.
      Overrides:
      getMasterPages in class ModuleHandleImpl
      Returns:
      A handle for working with the master pages.
    • getParameters

      public SlotHandle getParameters()
      Description copied from class: ModuleHandleImpl
      Returns a slot handle to work with the top-level parameters and parameter groups within the report. The order that the items appear within the slot determines the order in which they appear in the "requester" UI.
      Overrides:
      getParameters in class ModuleHandleImpl
      Returns:
      A handle for working with the parameters and parameter groups.
    • imagesIterator

      public Iterator imagesIterator()
      Description copied from class: ModuleHandleImpl
      Returns the iterator over all embedded images of this module instance. Each one is the instance of EmbeddedImageHandle
      Overrides:
      imagesIterator in class ModuleHandleImpl
      Returns:
      the iterator over all embedded images.
      See Also:
    • replaceConfigVariable

      public void replaceConfigVariable(ConfigVariable oldVar, ConfigVariable newVar) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Replaces the old config variable with the new one.
      Overrides:
      replaceConfigVariable in class ModuleHandleImpl
      Parameters:
      oldVar - the old config variable
      newVar - the new config variable
      Throws:
      SemanticException - if the old config variable is not found or the name of new one is empty.
    • replaceImage

      public void replaceImage(EmbeddedImage oldVar, EmbeddedImage newVar) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Replaces the old embedded image with the new one.
      Overrides:
      replaceImage in class ModuleHandleImpl
      Parameters:
      oldVar - the old embedded image
      newVar - the new embedded image
      Throws:
      SemanticException - if the old image is not found or the name of new one is empty.
    • getAllStyles

      public List getAllStyles()
      Description copied from class: ModuleHandleImpl
      Returns all style element handles that this modules and the included modules contain.
      Overrides:
      getAllStyles in class ModuleHandleImpl
      Returns:
      all style element handles that this modules and the included modules contain.
    • getVisibleThemes

      public List getVisibleThemes(int level)
      Description copied from class: ModuleHandleImpl
      Returns theme handles according the input level.
      Overrides:
      getVisibleThemes in class ModuleHandleImpl
      Parameters:
      level - an int value, which should be the one defined in IVisibleLevelControl.
      Returns:
      theme handles according the input level
    • getVisibleReportItemThemes

      public List<ReportItemThemeHandle> getVisibleReportItemThemes(int level, String type)
      Description copied from class: ModuleHandleImpl
      Returns report item theme handles according the input level.
      Overrides:
      getVisibleReportItemThemes in class ModuleHandleImpl
      Parameters:
      level - an int value, which should be the one defined in IVisibleLevelControl.
      Returns:
      theme handles according the input level
    • getParametersAndParameterGroups

      public List getParametersAndParameterGroups()
      Description copied from class: ModuleHandleImpl
      Returns parameters and parameter groups on the module. Those parameters included in the parameter groups are not included in the return list.
      Overrides:
      getParametersAndParameterGroups in class ModuleHandleImpl
      Returns:
      parameters and parameter groups
    • getAllPages

      public List getAllPages()
      Description copied from class: ModuleHandleImpl
      Returns all page handles that this modules and the included modules contain.
      Overrides:
      getAllPages in class ModuleHandleImpl
      Returns:
      all page handles that this modules and the included modules contain.
    • shiftLibrary

      public void shiftLibrary(LibraryHandle library, int toPosn) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Shifts the library to new position. This method might affect the style reference, because the library order is changed.
      Overrides:
      shiftLibrary in class ModuleHandleImpl
      Parameters:
      library - the library to shift
      toPosn - the new position
      Throws:
      SemanticException - if error is encountered when shifting
    • includeLibrariesIterator

      public Iterator includeLibrariesIterator()
      Description copied from class: ModuleHandleImpl
      Returns the iterator over all included libraries. Each one is the instance of IncludeLibraryHandle
      Overrides:
      includeLibrariesIterator in class ModuleHandleImpl
      Returns:
      the iterator over all included libraries.
      See Also:
    • includeLibrary

      public void includeLibrary(String libraryFileName, String namespace) throws DesignFileException, SemanticException
      Description copied from class: ModuleHandleImpl
      Includes one library with the given library file name. The new library will be appended to the library list.
      Overrides:
      includeLibrary in class ModuleHandleImpl
      Parameters:
      libraryFileName - library file name
      namespace - library namespace
      Throws:
      DesignFileException - if the library file is not found, or has fatal error.
      SemanticException - if error is encountered when handling IncludeLibrary structure list.
    • dropLibrary

      public void dropLibrary(LibraryHandle library) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Drops the given library from the included libraries of this design file.
      Overrides:
      dropLibrary in class ModuleHandleImpl
      Parameters:
      library - the library to drop
      Throws:
      SemanticException - if error is encountered when handling IncludeLibrary structure list. Or it maybe because that the given library is not found in the design. Or that the library has descedents in the current module
    • reloadLibrary

      public void reloadLibrary(LibraryHandle libraryToReload) throws SemanticException, DesignFileException
      Description copied from class: ModuleHandleImpl
      Reloads the library with the given library file path. If the library already is included directly, reload it. If the library is not included, exception will be thrown.

      Call this method cautiously ONLY on the condition that the library file is REALLY changed outside. After reload successfully, the command stack is cleared.

      Overrides:
      reloadLibrary in class ModuleHandleImpl
      Parameters:
      libraryToReload - the library instance
      Throws:
      SemanticException - if error is encountered when handling IncludeLibrary structure list. Or it maybe because that the given library is not found in the design. Or that the library has descedents in the current module
      DesignFileException - if the library file is not found, or has fatal error.
    • reloadLibraries

      public void reloadLibraries() throws SemanticException, DesignFileException
      Description copied from class: ModuleHandleImpl
      Reloads all libraries this module included.

      Call this method cautiously ONLY on the condition that the library file is REALLY changed outside. After reload successfully, the command stack is cleared. ModuleHandleImpl.reloadLibrary(LibraryHandle)

      Overrides:
      reloadLibraries in class ModuleHandleImpl
      Throws:
      SemanticException
      DesignFileException
    • reloadLibrary

      public void reloadLibrary(String reloadPath) throws SemanticException, DesignFileException
      Description copied from class: ModuleHandleImpl
      Reloads the library with the given library file path. If the library already is included directly or indirectly(that is, the reload path could be the path of grandson of this module), reload it. If the library is not included, exception will be thrown.

      Call this method cautiously ONLY on the condition that the library file is REALLY changed outside. After reload successfully, the command stack is cleared.

      Overrides:
      reloadLibrary in class ModuleHandleImpl
      Parameters:
      reloadPath - this is supposed to be an absolute path, not in url form.
      Throws:
      SemanticException - if error is encountered when handling IncludeLibrary structure list. Or it maybe because that the given library is not found in the design. Or that the library has descedents in the current module
      DesignFileException - if the library file is not found, or has fatal error.
    • dropLibraryAndBreakExtends

      public void dropLibraryAndBreakExtends(LibraryHandle library) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Drops the given library from the design and break all the parent/child relationships. All child element will be localized in the module.
      Overrides:
      dropLibraryAndBreakExtends in class ModuleHandleImpl
      Parameters:
      library - the given library to drop
      Throws:
      SemanticException - if errors occured when drop the library.It may be because that the library is not found in the design or that some elements can not be localized properly.
    • openCssStyleSheet

      public CssStyleSheetHandle openCssStyleSheet(String fileName) throws StyleSheetException
      Description copied from class: ModuleHandleImpl
      Gets the result style sheet with given file name of an external CSS2 resource.
      Overrides:
      openCssStyleSheet in class ModuleHandleImpl
      Parameters:
      fileName - the file name of the external CSS resource
      Returns:
      the CssStyleSheetHandle if the external resource is successfully loaded
      Throws:
      StyleSheetException - thrown if the resource is not found, or there are syntax errors in the resource
    • openCssStyleSheet

      public CssStyleSheetHandle openCssStyleSheet(InputStream is) throws StyleSheetException
      Description copied from class: ModuleHandleImpl
      Gets the result style sheet with given file name of an external CSS2 resource.
      Overrides:
      openCssStyleSheet in class ModuleHandleImpl
      Parameters:
      is - the input stream of the resource
      Returns:
      the CssStyleSheetHandle if the external resource is successfully loaded
      Throws:
      StyleSheetException - thrown if the resource is not found, or there are syntax errors in the resource
    • setThemeName

      public void setThemeName(String themeName) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Sets the theme to a report.
      Overrides:
      setThemeName in class ModuleHandleImpl
      Parameters:
      themeName - the name of the theme
      Throws:
      SemanticException
    • setTheme

      public void setTheme(ThemeHandle theme) throws SemanticException
      Description copied from class: ModuleHandleImpl
      Sets the theme to a report.
      Overrides:
      setTheme in class ModuleHandleImpl
      Parameters:
      theme - the theme instance
      Throws:
      SemanticException