If the user selects QUOTE_NONE then the only options for printing a value which contains a delimiter or EOL - or which starts with the quote character - are:
- escape the character(s)
- throw an Exception
In which case, we just use the escape character setting to determine which to do.
[Otherwise the printed output will not be valid, and I don't think we should allow that.]
If the user wants to use a different escape setting for parsing and printing, then they can just create a different format.
Otherwise we are back into having separate parsing and printing CSVFormat classes, which you already said you did not want.