Class ExportTool3

java.lang.Object
java.util.Observable
com.nomagic.magicreport.engine.Tool
com.nomagic.magicreport.engine.ConcurrentTool
com.nomagic.magicdraw.magicreport.tools.ExportTool3
All Implemented Interfaces:
com.nomagic.magicreport.engine.ITool, com.nomagic.magicreport.IVariable, Serializable, Cloneable

@OpenApiAll public class ExportTool3 extends com.nomagic.magicreport.engine.ConcurrentTool
This class allow report to export element in other file format including tree folder. This class use XMLStreamWriter2 instead of DOM.
Since:
Aut 31, 2021
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.nomagic.magicreport.engine.ConcurrentTool

    com.nomagic.magicreport.engine.ConcurrentTool.ConsumeObject

    Nested classes/interfaces inherited from interface com.nomagic.magicreport.engine.ITool

    com.nomagic.magicreport.engine.ITool.HTMLString, com.nomagic.magicreport.engine.ITool.RetainedString, com.nomagic.magicreport.engine.ITool.Void
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Contains a context name.

    Fields inherited from class com.nomagic.magicreport.engine.Tool

    context, properties

    Fields inherited from interface com.nomagic.magicreport.engine.ITool

    VOID
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create an export tool.
    ExportTool3(com.nomagic.magicreport.engine.ITemplateEngine engine, Observer observer)
    Create an export tool with observer.
    Create an export tool with observer.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    consume(com.nomagic.magicreport.engine.ConcurrentTool.ConsumeObject consumeObject)
    Consume a object.
    protected void
    createAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, com.nomagic.magicdraw.ui.ElementFilter filter)
     
    protected void
    createAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, com.nomagic.magicdraw.ui.ElementFilter filter, boolean isSmart)
     
    protected void
    createAndExportSmartElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, com.nomagic.magicdraw.ui.ElementFilter filter)
     
    protected void
    createAttributeAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, boolean skipData)
    Create attributes for XML element represents the exportingElement and offer the element to be created into file.
    protected File
    createResourcesDir(String resourcesLocation)
    Create a resource directory.
    protected String
     
    void
    Called by the engine to inform this tool is no longer use and that it should destroy any resources that it has allocated.
    exportAll(boolean exportResources, boolean exportLinkedFile)
    Export current opened project into file.
    protected String
    Export the image for the element.
    com.nomagic.magicreport.engine.ITool.Void
    exportDiagramImage(DiagramPresentationElement diagramPresentation, boolean exportResources)
     
    exportDiagramImageWithResult(DiagramPresentationElement diagramPresentation, boolean exportResources)
     
    com.nomagic.magicreport.engine.ITool.Void
    exportElement(File exportingFile, Element exportingElement, boolean exportResources)
    Export element to XML file.
    com.nomagic.magicreport.engine.ITool.Void
    exportElement(File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile)
    Export element to XML file.
    com.nomagic.magicreport.engine.ITool.Void
    exportElement(File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile, ImageExportResult result)
    Export element to XML file.
    com.nomagic.magicreport.engine.ITool.Void
    exportElement(File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile, com.nomagic.magicdraw.ui.ElementFilter filter)
     
    com.nomagic.magicreport.engine.ITool.Void
    exportElementForTree(File exportingNodeFile, Element exportingElement, boolean exportResources)
    Export element to XML file which is used for create tree.
    com.nomagic.magicreport.engine.ITool.Void
    exportElementForTree(File exportingNodeFile, Element exportingElement, boolean exportResources, com.nomagic.magicdraw.ui.ElementFilter filter)
     
    protected String
    exportIcon(BaseElement exportingElement)
    Export the icon for element.
     
    protected String
    Return String representing element type.
    protected String
     
    static String
    getHumanName(String propertyName, Map<String,String> nameMap)
     
    getPropertyHumanName(String propertyName, Map<String,String> nameMap)
    Get property human name of given property name.
    protected String
    Return location of resources directory.
    protected void
     
    protected boolean
     
    void
    setRecursive(boolean isRecursive)
     
    void
    setReportBean(com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean)
     
    void
    setShowAuxiliary(boolean isShowAuxiliary)
     

    Methods inherited from class com.nomagic.magicreport.engine.ConcurrentTool

    getCustomPoolSize, isNoSpaceException, isRunning, offer

    Methods inherited from class com.nomagic.magicreport.engine.Tool

    clone, getContext, getProperties, getProperty, getProperty, notifyObservers, setContext, setProperties

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface com.nomagic.magicreport.engine.ITool

    clearTool
  • Field Details

  • Constructor Details

    • ExportTool3

      public ExportTool3()
      Create an export tool.
    • ExportTool3

      public ExportTool3(Observer observer)
      Create an export tool with observer.
      Parameters:
      observer - Observer
    • ExportTool3

      public ExportTool3(com.nomagic.magicreport.engine.ITemplateEngine engine, Observer observer)
      Create an export tool with observer.
      Parameters:
      engine - engine
      observer - Observer
  • Method Details

    • setRecursive

      public void setRecursive(boolean isRecursive)
    • setReportBean

      public void setReportBean(com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean)
    • setShowAuxiliary

      public void setShowAuxiliary(boolean isShowAuxiliary)
    • consume

      public void consume(com.nomagic.magicreport.engine.ConcurrentTool.ConsumeObject consumeObject)
      Consume a object.
      Specified by:
      consume in class com.nomagic.magicreport.engine.ConcurrentTool
      Parameters:
      consumeObject - consume object.
      See Also:
      • ConcurrentTool.consume(ConsumeObject)
    • exportElement

      public com.nomagic.magicreport.engine.ITool.Void exportElement(File exportingFile, Element exportingElement, boolean exportResources)
      Export element to XML file.
      Parameters:
      exportingFile - exporting file
      exportingElement - exporting element
      exportResources - true if you want to export resources of this element
      Returns:
      nothing
    • exportElement

      public com.nomagic.magicreport.engine.ITool.Void exportElement(File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile, @CheckForNull com.nomagic.magicdraw.ui.ElementFilter filter)
    • exportElement

      public com.nomagic.magicreport.engine.ITool.Void exportElement(File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile)
      Export element to XML file.
      Parameters:
      exportingFile - exporting file
      exportingElement - exporting element
      exportResources - true if you want to export resources of this element
      exportLinkedFile - true if you want to include linked files.
      Returns:
      nothing
    • exportElement

      public com.nomagic.magicreport.engine.ITool.Void exportElement(File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile, ImageExportResult result)
      Export element to XML file.
      Parameters:
      exportingFile - exporting file
      exportingElement - exporting element
      exportResources - true if you want to export resources of this element
      exportLinkedFile - true if you want to include linked files.
      result - result of exporting digram
      Returns:
      nothing
    • exportDiagramImage

      public com.nomagic.magicreport.engine.ITool.Void exportDiagramImage(DiagramPresentationElement diagramPresentation, boolean exportResources)
    • exportDiagramImageWithResult

      public ImageExportResult exportDiagramImageWithResult(DiagramPresentationElement diagramPresentation, boolean exportResources)
    • exportElementForTree

      public com.nomagic.magicreport.engine.ITool.Void exportElementForTree(File exportingNodeFile, Element exportingElement, boolean exportResources, com.nomagic.magicdraw.ui.ElementFilter filter)
    • exportElementForTree

      public com.nomagic.magicreport.engine.ITool.Void exportElementForTree(File exportingNodeFile, Element exportingElement, boolean exportResources)
      Export element to XML file which is used for create tree.
      Parameters:
      exportingNodeFile - exporting file
      exportingElement - export element
      exportResources - true if you want to export resources of this element
      Returns:
      nothing
    • getResourcesLocation

      protected String getResourcesLocation()
      Return location of resources directory.
      Returns:
      a path to resources directory.
    • createResourcesDir

      protected File createResourcesDir(String resourcesLocation) throws IOException
      Create a resource directory.
      Parameters:
      resourcesLocation - resources location
      Returns:
      a File pointed to resources directory
      Throws:
      IOException - if IO error occurs.
    • exportIcon

      public String exportIcon(String type) throws IOException
      Throws:
      IOException
    • exportIcon

      protected String exportIcon(BaseElement exportingElement) throws IOException
      Export the icon for element. This method should not perform graphic renderer by itself. The icon exporting process should be enqueue by method offer(ConsumeObject).
      Parameters:
      exportingElement - target element
      Returns:
      path to icon
      Throws:
      IOException - if IO error occurs
    • exportCustomImageHolder

      protected String exportCustomImageHolder(BaseElement exportingElement) throws IOException
      Export the image for the element. Image for the element will be exported from strereotype CustomImageHolder.
      Parameters:
      exportingElement - target element
      Returns:
      path to icon
      Throws:
      IOException - if IO error occurs
    • createAndExportElement

      protected void createAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, @CheckForNull com.nomagic.magicdraw.ui.ElementFilter filter) throws IOException, XMLStreamException
      Throws:
      IOException
      XMLStreamException
    • createAndExportSmartElement

      protected void createAndExportSmartElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, @CheckForNull com.nomagic.magicdraw.ui.ElementFilter filter) throws IOException, XMLStreamException
      Throws:
      IOException
      XMLStreamException
    • createAndExportElement

      protected void createAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, @CheckForNull com.nomagic.magicdraw.ui.ElementFilter filter, boolean isSmart) throws IOException, XMLStreamException
      Throws:
      IOException
      XMLStreamException
    • createAttributeAndExportElement

      protected void createAttributeAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, boolean skipData) throws IOException, XMLStreamException
      Create attributes for XML element represents the exportingElement and offer the element to be created into file. Return null to cancel this element exporting.
      Parameters:
      document - XML document
      exportingElement - exporting element
      exportResources - true if you want to export resources of this element
      exportLinkedFile - true if you want to include linked files.
      skipData - true to create only main attribute to xml document.
      Throws:
      IOException - when IO error occurred.
      XMLStreamException
    • getElementType

      protected String getElementType(Element element)
      Return String representing element type.
      Parameters:
      element - element
      Returns:
      a String representing element type.
    • getElementTypeForTagName

      protected String getElementTypeForTagName(Element element)
    • createTagName

      protected String createTagName(String tagName)
    • exportAll

      public String exportAll(boolean exportResources, boolean exportLinkedFile)
      Export current opened project into file.
      Parameters:
      exportResources - true if you want to export resources.
      exportLinkedFile - true if you want to include linked files.
      Returns:
      nothing
    • destroy

      public void destroy()
      Called by the engine to inform this tool is no longer use and that it should destroy any resources that it has allocated.
      Overrides:
      destroy in class com.nomagic.magicreport.engine.ConcurrentTool
      See Also:
      • ConcurrentTool.destroy()
    • getPropertyHumanName

      public String getPropertyHumanName(String propertyName, Map<String,String> nameMap)
      Get property human name of given property name. If nameMap is used, human name will be resolved by nameMap then resource string.
      Parameters:
      propertyName - a property name
      nameMap - optional provides new name map from DSL.getPropertyNameMap(com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element) to resolve property name from <<metaType>>
      Returns:
      human name
    • getHumanName

      public static String getHumanName(String propertyName, Map<String,String> nameMap)
    • isCancel

      protected boolean isCancel()
    • handleIOException

      protected void handleIOException(Exception e)