public class CSVWriterBuilder extends Object
Note: this should be the preferred method of creating the CSVWriter as we will no longer be creating constructors for new fields added to the writer. Plus there are now multiple flavors of CSVWriter and this will help build the correct one.
If a CSVWriterBuilder has a parser injected, it will create a CSVParserWriter, otherwise it will create a CSVWriter. If a parser is injected into a builder that already has a separator, quotechar, or escapechar then an IllegalArguementException is thrown. Likewise the opposite is true.
If nothing is defined then a CSVWriter will be produced with default settings.
Writer writer = new StringWriter(); // any Writer
CSVParser parser = new CSVParserBuilder().build();
ICSVWriter csvParserWriter = new CSVWriterBuilder(writer)
.withParser(parser)
.withLineEnd(ICSVWriter.RFC4180_LINE_END)
.build(); // will produce a CSVParserWriter
ICSVWriter csvWriter = new CSVWriterBuilder(writer)
.withSeparator(ICSVParser.DEFAULT_SEPARATOR)
.withQuoteChar(ICSVParser.DEFAULT_QUOTE_CHARACTER)
.withEscapeChar(ICSVParser.DEFAULT_ESCAPE_CHARACTER)
.withLineEnd(ICSVWriter.DEFAULT_LINE_END)
.build(); // will produce a CSVWriter
Constructor and Description |
---|
CSVWriterBuilder(Writer writer)
Constructor taking a writer for the resulting CSV output.
|
Modifier and Type | Method and Description |
---|---|
ICSVWriter |
build()
Creates the CSVWriter.
|
CSVWriterBuilder |
withEscapeChar(char escapeChar)
Sets the escape character that the ICSVWriter will be using.
|
CSVWriterBuilder |
withLineEnd(String lineEnd)
Sets the newline character that the ICSVWriter will use.
|
CSVWriterBuilder |
withParser(ICSVParser parser)
Sets the parser that the ICSVWriter will be using.
|
CSVWriterBuilder |
withQuoteChar(char quoteChar)
Sets the quote character that the ICSVWriter will be using.
|
CSVWriterBuilder |
withResultSetHelper(ResultSetHelper helper)
Sets the ResultSetHelper that the ICSVWriter will use.
|
CSVWriterBuilder |
withSeparator(char separator)
Sets the separator that the ICSVWriter will be using.
|
public CSVWriterBuilder(Writer writer)
writer
- A writer to create the resulting CSV output for the writer.public CSVWriterBuilder withParser(ICSVParser parser)
parser
- Parser to inject into the ICSVWriter.IllegalArgumentException
- If a separator, quote or escape character has been set.public CSVWriterBuilder withSeparator(char separator)
separator
- The separator character to use when creating the CSV content.IllegalArgumentException
- If a parser has been set.public CSVWriterBuilder withQuoteChar(char quoteChar)
quoteChar
- The quote character to use when creating the CSV content.IllegalArgumentException
- If a parser has been set.public CSVWriterBuilder withEscapeChar(char escapeChar)
escapeChar
- The escape character to use when creating the CSV content.IllegalArgumentException
- If a parser has been set.public CSVWriterBuilder withLineEnd(String lineEnd)
\n
will be usedlineEnd
- Newline string to inject into the ICSVWriter.public ICSVWriter build()
public CSVWriterBuilder withResultSetHelper(ResultSetHelper helper)
helper
- ResultSetHelper to be injected into the ICSVWriter.Copyright © 2005–2023. All rights reserved.