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
| Modifier and Type | Field and Description |
|---|---|
| private Character | |
| private String | |
| private ICSVParser | |
| private Character | |
| private ResultSetHelper | |
| private Character | |
| private final Writer |
| Access | Constructor and Description |
|---|---|
| public | CSVWriterBuilder(Writer
A writer to create the resulting CSV output for the writer. writer)Constructor taking a writer for the resulting CSV output. |
| Modifier and Type | Method and Description |
|---|---|
| public ICSVWriter | |
| private ICSVWriter | |
| private ICSVWriter | |
| public CSVWriterBuilder | Returns: The CSVWriterBuilder with the escape character set.The escape character to use when creating the CSV content. escapeChar)Sets the escape character that the ICSVWriter will be using. |
| public CSVWriterBuilder | Returns: The CSVWriterBuilder with the lineEnd set.Newline string to inject into the ICSVWriter. lineEnd)Sets the newline character that the ICSVWriter will use. |
| public CSVWriterBuilder | Returns: The CSVWriterBuilder with the parser set.Parser to inject into the ICSVWriter. parser)Sets the parser that the ICSVWriter will be using. |
| public CSVWriterBuilder | Returns: The CSVWriterBuilder with the quote character set.The quote character to use when creating the CSV content. quoteChar)Sets the quote character that the ICSVWriter will be using. |
| public CSVWriterBuilder | Returns: The CSVWriterBuiilder with the ResultSetHelper set.ResultSetHelper to be injected into the ICSVWriter. helper)Sets the ResultSetHelper that the ICSVWriter will use. |
| public CSVWriterBuilder | Returns: The CSVWriterBuilder with the separator set.The separator character to use when creating the CSV content. separator)Sets the separator that the ICSVWriter will be using. |
| escapechar | back to summary |
|---|---|
| private Character escapechar | |
| lineEnd | back to summary |
|---|---|
| private String lineEnd | |
| parser | back to summary |
|---|---|
| private ICSVParser parser | |
| quotechar | back to summary |
|---|---|
| private Character quotechar | |
| resultSetHelper | back to summary |
|---|---|
| private ResultSetHelper resultSetHelper | |
| separator | back to summary |
|---|---|
| private Character separator | |
| writer | back to summary |
|---|---|
| private final Writer writer | |
| CSVWriterBuilder | back to summary |
|---|---|
| public CSVWriterBuilder(Writer writer) Constructor taking a writer for the resulting CSV output. This is because the Writer is required and everything else has an optional default.
| |
| build | back to summary |
|---|---|
| public ICSVWriter build() Creates the CSVWriter.
| |
| createCSVParserWriter | back to summary |
|---|---|
| private ICSVWriter createCSVParserWriter() | |
| createCSVWriter | back to summary |
|---|---|
| private ICSVWriter createCSVWriter() | |
| withEscapeChar | back to summary |
|---|---|
| public CSVWriterBuilder withEscapeChar(char escapeChar) Sets the escape character that the ICSVWriter will be using.
| |
| withLineEnd | back to summary |
|---|---|
| public CSVWriterBuilder withLineEnd(String lineEnd) Sets the newline character that the ICSVWriter will use. If none is defined then
| |
| withParser | back to summary |
|---|---|
| public CSVWriterBuilder withParser(ICSVParser parser) Sets the parser that the ICSVWriter will be using. If none is defined then a CSVWriter will be returned when the build command is executed.
| |
| withQuoteChar | back to summary |
|---|---|
| public CSVWriterBuilder withQuoteChar(char quoteChar) Sets the quote character that the ICSVWriter will be using.
| |
| withResultSetHelper | back to summary |
|---|---|
| public CSVWriterBuilder withResultSetHelper(ResultSetHelper helper) Sets the ResultSetHelper that the ICSVWriter will use. If it is not defined then it will not be set and will be up to the ICSVWriter to handle - CSVWriter will create one by default.
| |
| withSeparator | back to summary |
|---|---|
| public CSVWriterBuilder withSeparator(char separator) Sets the separator that the ICSVWriter will be using.
| |