Package com.orchestranetworks.service
Class ExportImportCSVSpec
- java.lang.Object
-
- com.orchestranetworks.service.ExportImportCSVSpec
-
public class ExportImportCSVSpec extends Object
Defines the settings for executing an import or export to "Comma-separated values" format (CSV).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExportImportCSVSpec.Header
Specifies the header type of the CSV document.
-
Field Summary
Fields Modifier and Type Field Description static String
NULL_STRING_CODE
Value is:"ebx-csv:nil"
.
-
Constructor Summary
Constructors Constructor Description ExportImportCSVSpec()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getEncoding()
char
getFieldSeparator()
ExportImportCSVSpec.Header
getHeader()
String
getLineSeparator()
String
getListSeparator()
char
getTextDelimiter()
boolean
isForceEnclosingFields()
boolean
isInheritanceEnabled()
boolean
isNullStringEncoded()
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 Detail
-
NULL_STRING_CODE
public static final String NULL_STRING_CODE
Value is:"ebx-csv:nil"
.
-
-
Method Detail
-
getFieldSeparator
public char getFieldSeparator()
- See Also:
setFieldSeparator(char)
-
getLineSeparator
public String getLineSeparator()
- See Also:
setLineSeparator(String)
-
getListSeparator
public String getListSeparator()
- Since:
- 5.6.0
- See Also:
setListSeparator(String)
-
getEncoding
public String getEncoding()
- See Also:
setEncoding(String)
-
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 (seeCharset
).
-
getHeader
public ExportImportCSVSpec.Header getHeader()
-
setHeader
public void setHeader(ExportImportCSVSpec.Header headerType)
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:
setTextDelimiter(char)
-
isForceEnclosingFields
public boolean isForceEnclosingFields()
- See Also:
setForceEnclosingFields(boolean)
-
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)
-
isNullStringEncoded
public boolean isNullStringEncoded()
- See Also:
setNullStringEncoded(boolean)
-
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:
NULL_STRING_CODE
, Empty string management
- If not set, a
-
isInheritanceEnabled
public boolean isInheritanceEnabled()
- Since:
- 5.6.0
- See Also:
setInheritanceEnabled(boolean)
-
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
-
-