Class ExportSpec


  • public class ExportSpec
    extends Object
    Defines the settings of an export.

    To be valid, an instance of this class must define at least a source and a destination.

    Usage

    An example of a table export to a CSV file:

     private ExportSpec getExportSpecForCSV(
            File csvFile,
            AdaptationTable table,
            Header headerType)
     {
            ExportImportCSVSpec csvSpec = new ExportImportCSVSpec();
            csvSpec.setHeader(headerType);
    
            ExportSpec exportSpec = new ExportSpec();
            exportSpec.setCSVSpec(csvSpec);
            exportSpec.setRequest(table.createRequest());
            exportSpec.setDestinationFile(csvFile);
            exportSpec.setIncludesTechnicalData(false);
            return exportSpec;
     }
     
    See Also:
    ProcedureContext.doExport(ExportSpec), ImportSpec
    • Constructor Detail

      • ExportSpec

        public ExportSpec()
    • Method Detail

      • setSourceAdaptation

        public void setSourceAdaptation​(Adaptation aSource)
        Specifies the source dataset of the export. If exporting a table, use 'setRequest(Request)' instead.
        Parameters:
        aSource - the dataset to export.
      • setDestinationFile

        public void setDestinationFile​(File target)
        Specifies the file to which to export the document.

        If the destination file is not set, an output stream must be set.

        Parameters:
        target - destination file that the export will write.
        See Also:
        setDestinationStream(OutputStream)
      • setDestinationStream

        public void setDestinationStream​(OutputStream target)
        Specifies the stream to which to write the exported document.

        A destination stream is a more general alternative to a destination file.

        It is up to the caller of this method to provide a buffered output stream (if necessary for performance considerations).

        Parameters:
        target - destination stream for the export.
        See Also:
        setDestinationFile(File)
      • setCloseStreamWhenFinished

        public void setCloseStreamWhenFinished​(boolean closeStreamWhenFinished)
        Specifies that the export process must close the stream upon export completion.

        If not set, this property has the value true.

        See Also:
        setOmitXMLDeclaration(boolean)
      • setOmitXMLDeclaration

        public void setOmitXMLDeclaration​(boolean omitXMLDeclaration)
        For XML exports, specifies whether to omit the XML declaration from beginning of the export. Use this method when exporting content to be included within a larger document.

        An example of an XML declaration:

        <?xml version="1.0" encoding="UTF-8"?>

        If not set, the property has the value false. This property is ignored for CSV exports.

        Since:
        5.4.0
        See Also:
        setCloseStreamWhenFinished(boolean)
      • setOmitXMLComment

        public void setOmitXMLComment​(boolean omitXMLComment)
        For XML exports, specifies whether to omit the generated XML comment that describes the location of data and the date of the export from beginning of the file.

        An example of an XML comment:

        <!--XML content generated for /root/table in dataset DataSet1 in dataspace DataSpaceA on 2014-03-26T16:29:58.296 by user [admin].-->

        If not set, the property has the value false. This property is ignored for CSV exports.

        Since:
        5.5.0
      • setIncludesComputedValues

        public void setIncludesComputedValues​(boolean includesComputedValues)
        Specifies if computed values should be included in the export. Computed values are nodes with osd:function declarations (see Computed Values).

        Warning: For XML exports, if false is specified, the exported document may be invalid according to the XML Schema. This is the case when a computed value node has maxOccurs > 0.

        If not set, this property has the value true.

      • setIncludesTechnicalData

        public void setIncludesTechnicalData​(boolean includesTechnicalData)
        Specifies if technical data should be included in the export. Technical data is internal repository information, for example the attributes ebxd:lastTime and ebxd:uuid.

        If not set, this property has the value true.

      • setSelection

        public void setSelection​(SchemaNode selection)
        Specifies that the export will only include the content under the specified node.

        If not set, this property is null. This means that the whole content is exported.

      • isExportToCSV

        public boolean isExportToCSV()
        Returns true if performing a CSV export. This is the case when the method getCSVSpec() does not return null.
      • setCSVSpec

        public void setCSVSpec​(ExportImportCSVSpec csvSpec)
        Specifies the expected settings of a CSV export, or null if performing an XML export.

        Default value is null.

      • setContentIndented

        public void setContentIndented​(boolean indent)
        For XML exports, specifies to indent the content of the document.

        If not set, this property has the value true.

        If performing a CSV export, this property is ignored.

      • setRequest

        public void setRequest​(Request request)
        Specifies to export content filtered by the provided request.

        If not set, this property is null. This means that the whole table content is exported.

      • setViewPublication

        public void setViewPublication​(String aPublication)
        Specifies to export table content filtered by the provided view. This method is reserved for use with tabular views. An exception occurs if applied to a hierarchy view.
        Parameters:
        aPublication - the unique publication name of the custom view to be applied.
        Since:
        5.3.2
        See Also:
        Technical reference, UIHttpManagerComponent.setViewPublication(String)
      • setRequestSchemaNodes

        public void setRequestSchemaNodes​(List<SchemaNode> aListOfDataModelNodes)
        Specifies the nodes (or "columns" from a user or SQL perspective) to export. The export follows the order of the specified List.

        If not set, all nodes in the table are exported (except computed values, if those are excluded using the method setIncludesComputedValues(boolean)).

        Limitation: If the specified node is a terminal group, all nodes under this group will not be exported to CSV format, whereas they will be exported to XML format.

        Parameters:
        aListOfDataModelNodes - List of data model nodes.
        See Also:
        SchemaNode
      • setRequestSchemaNodesOrderedByTableNodesOrder

        public void setRequestSchemaNodesOrderedByTableNodesOrder​(List<SchemaNode> aListOfDataModelNodes)
        Same as the method setRequestSchemaNodes, except that the export follows the order of the table nodes instead of the specified list.
        See Also:
        setRequestSchemaNodes(List)
      • setCheckAccessRules

        public void setCheckAccessRules​(boolean checkAccessRules)
        Specifies whether permissions must be checked for the export.

        Default value is true. If set to false, the user performing the export will gain access to columns, records, and fields values that were inaccessible through the user interface.

      • setSessionDependingDisplay

        public void setSessionDependingDisplay​(boolean sessionDependingDisplay)
        Specifies whether to apply the standard XML format (default) or user-friendly, session dependent formatting and labeling.

        When set to true:

        • values (dates and numbers) are formatted according to the current session preferences;
        • labels for the locale of the current session are used whenever possible;
        • consequently, a re-import of the exported file will not be possible;
        • for an XML export, another consequence is that the exported document will not conform to its XML Schema Document.
        See Also:
        SchemaNode.displayOccurrence(Object, boolean, com.orchestranetworks.instance.ValueContext, Locale)
      • toStringInfo

        public String toStringInfo()
        Returns the main attributes of the exported dataset.