Package com.orchestranetworks.service
Class ExportImportCSVSpec
java.lang.Object
com.orchestranetworks.service.ExportImportCSVSpec
Defines the settings for executing an import or export to "Comma-separated values" format (CSV).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
Specifies the header type of the CSV document. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionchar
char
boolean
boolean
boolean
void
setEncoding
(String encoding) Specifies the character encoding to be used.void
setFieldSeparator
(char separator) Specifies the field separator to be used.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.void
setHeader
(ExportImportCSVSpec.Header headerType) Specifies the header of the CSV file; can beExportImportCSVSpec.Header.NONE
.void
setInheritanceEnabled
(boolean inheritanceEnabled) Specifies if the inheritance will be taken into account during a CSV export or import.void
setLineSeparator
(String separator) Specifies the line separator to be used.void
setListSeparator
(String separator) Specifies the list separator to be used.void
setNullStringEncoded
(boolean nullStringEncoded) Specifies ifnull
strings will be translated toebx-csv:nil
values in CSV fields.void
setTextDelimiter
(char delimiter) Specifies the text delimiter to be used.
-
Field Details
-
NULL_STRING_CODE
Value is:"ebx-csv:nil"
.
-
-
Constructor Details
-
ExportImportCSVSpec
public ExportImportCSVSpec()
-
-
Method Details
-
getFieldSeparator
public char getFieldSeparator()- See Also:
-
getLineSeparator
- See Also:
-
getListSeparator
- Since:
- 5.6.0
- See Also:
-
getEncoding
- See Also:
-
setFieldSeparator
public void setFieldSeparator(char separator) Specifies the field separator to be used.If not set, the value of this property is
','
(comma). -
setLineSeparator
Specifies the line separator to be used.If not set, the value of this property is
'\r\n'
(CRLF). -
setListSeparator
Specifies the list separator to be used.If not set, the value of this property is
'\r\n'
(CRLF).- Since:
- 5.6.0
-
setEncoding
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 (seeCharset
).
-
getHeader
-
setHeader
Specifies the header of the CSV file; can beExportImportCSVSpec.Header.NONE
.The header is set to
ExportImportCSVSpec.Header.LABEL
by default. -
getTextDelimiter
public char getTextDelimiter()- See Also:
-
isForceEnclosingFields
public boolean isForceEnclosingFields()- See Also:
-
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
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:
-
isNullStringEncoded
public boolean isNullStringEncoded()- See Also:
-
setNullStringEncoded
public void setNullStringEncoded(boolean nullStringEncoded) Specifies ifnull
strings will be translated toebx-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.
- If the distinction is preserved, a round-trip export-import will
replace
- See Also:
- If not set, a
-
isInheritanceEnabled
public boolean isInheritanceEnabled()- Since:
- 5.6.0
- See Also:
-
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,- resolved values of fields are exported;
occulted records
are not exported.
-
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 ofx:defMode
are 'N', 'T', 'V' and 'C' and correspond respectively toinherit
,root
,overwrite
andoccult
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.
- a technical data
-
If set to
- 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.
- if the read value of column
-
If set to
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.
- For a CSV export
-