in src/main/java/com/univocity/parsers/csv/CsvWriter.java [141:183]
protected final void initialize(CsvWriterSettings settings) {
CsvFormat format = settings.getFormat();
this.separator = format.getDelimiter();
this.quoteChar = format.getQuote();
this.escapeChar = format.getQuoteEscape();
this.escapeEscape = settings.getFormat().getCharToEscapeQuoteEscaping();
this.newLine = format.getNormalizedNewline();
this.quoteAllFields = settings.getQuoteAllFields();
this.ignoreLeading = settings.getIgnoreLeadingWhitespaces();
this.ignoreTrailing = settings.getIgnoreTrailingWhitespaces();
this.escapeUnquoted = settings.isEscapeUnquotedValues();
this.inputNotEscaped = !settings.isInputEscaped();
this.dontProcessNormalizedNewLines = !settings.isNormalizeLineEndingsWithinQuotes();
this.quotationTriggers = null;
this.quotedColumns = null;
this.maxTrigger = 0;
quotedColumns = Collections.emptySet();
quotedFieldSelector = settings.getQuotedFieldSelector();
int triggerCount = settings.getQuotationTriggers().length;
int offset = settings.isQuoteEscapingEnabled() ? 1 : 0;
char[] tmp = Arrays.copyOf(settings.getQuotationTriggers(), triggerCount + offset);
if (offset == 1) {
tmp[triggerCount] = quoteChar;
}
for (int i = 0; i < tmp.length; i++) {
if (maxTrigger < tmp[i]) {
maxTrigger = tmp[i];
}
}
if (maxTrigger != 0) {
maxTrigger++;
this.quotationTriggers = new boolean[maxTrigger];
Arrays.fill(quotationTriggers, false);
for (int i = 0; i < tmp.length; i++) {
quotationTriggers[tmp[i]] = true;
}
}
}