Class ExportImportCSVSpec

    • Constructor Detail

      • ExportImportCSVSpec

        public ExportImportCSVSpec()
    • Method Detail

      • setFieldSeparator

        public void setFieldSeparator​(char separator)
        Specifies the field separator to be used.

        If not set, the value of this property is ',' (comma).

      • setLineSeparator

        public void setLineSeparator​(String separator)
        Specifies the line separator to be used.

        If not set, the value of this property is '\r\n' (CRLF).

      • setListSeparator

        public void setListSeparator​(String separator)
        Specifies the list separator to be used.

        If not set, the value of this property is '\r\n' (CRLF).

        Since:
        5.6.0
      • setEncoding

        public void setEncoding​(String encoding)
        Specifies the character encoding to be used.

        If not set, the value of this property is 'UTF-8'.

        Parameters:
        encoding - the name of a supported encoding (see Charset).
      • setTextDelimiter

        public void setTextDelimiter​(char delimiter)
        Specifies the text delimiter to be used. The text delimiter is used for enclosing fields that contain special characters (the field separator character, the line separator character, or the text delimiter itself).

        If not set, the value of this property is '"' (double-quote).

        See Also:
        setForceEnclosingFields(boolean)
      • setForceEnclosingFields

        public void setForceEnclosingFields​(boolean forceEnclosingFields)
        Specifies that, during an export, all fields are to be enclosed within text delimiter characters, even if the fields do not contain any special characters.

        If not set, this property is false.

        See Also:
        setTextDelimiter(char)
      • setNullStringEncoded

        public void setNullStringEncoded​(boolean nullStringEncoded)
        Specifies if null strings will be translated to ebx-csv:nil values in CSV fields.

        • If not set, a null string is exported as an empty string.
        • If set, depending on the distinction between a null value and an empty string:
          • If the distinction is preserved, a round-trip export-import will replace null string values with empty strings.
          • Otherwise, a round-trip export-import will preserve null values.

        See Also:
        NULL_STRING_CODE, Empty string management
      • setInheritanceEnabled

        public void setInheritanceEnabled​(boolean inheritanceEnabled)
        Specifies if the inheritance will be taken into account during a CSV export or import.
        • For a CSV export
          • If set to false (the default), inheritance is ignored then,
          • If set to true, inheritance is taken into account during the export then:
            • a technical data x:defMode that specifies the definition mode for each record is added to the first column of the CSV file. The possible values of x:defMode are 'N', 'T', 'V' and 'C' and correspond respectively to inherit, root, overwrite and occult modes;
            • a technical data x:inh that specifies if the field is inherited or occulted is added before each field column;
            • resolved values of fields are exported.
        • For a CSV Import
          • If set to false (the default), inheritance is ignored and record fields are overwritten with imported values.
          • If set to true, inheritance is taken into account during the import then:
            • if the read value of column x:defMode is 'N', the record is forced to be in inherit mode that means;
              • it is occulted then deleted, if an overwritten record with the same primary key exists in the current table;
              • it is deleted, if an occulted record with the same primary key exists in the current table;
              • nothing is done, if an inherited record with the same primary key exists in the current table;
              • nothing is done, if no record exists with the same primary key in the current table.
            • if the read value of column x:defMode is 'C', the record is forced to be in occult mode that means;
              • it is deleted, if an inherited record with the same primary key exists in the target table;
              • it is occulted, if an overwritten record with the same primary key exists in the current table;
              • nothing is done, if an occulted record with the same primary key exists in the current table;
              • nothing is done, if no record exists with the same primary key in the current table.
            • if the read value of column x:inh is 'N', the field following this column is forced to be in inherit mode; AdaptationValue.INHERIT_VALUE is set;
            • otherwise, record fields are overwritten with imported values.

        Limitations:

        • During a CSV export or import, if the dataset of the table has no parent or if the table has no inherited field, inheritance is always ignored.

        Since:
        5.6.0
        See Also:
        Adaptation.getOccurrenceDefinitionMode(), Adaptation.getValueWithoutResolution(Path), CSV import and export, Inheritance and value resolution