Class StatefulBeanToCsvBuilder<T>
- Type Parameters:
T
- The type of the beans being written
- Since:
- 3.9
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private final ICSVWriter
private Locale
private char
private CsvExceptionHandler
private String
private MappingStrategy
<T> private boolean
private String
private char
private char
private final Writer
-
Constructor Summary
ConstructorsConstructorDescriptionStatefulBeanToCsvBuilder
(ICSVWriter icsvWriter) Being stateful the writer is required by the builder at the start and not added in later.StatefulBeanToCsvBuilder
(Writer writer) Default constructor - Being stateful the writer is required by the builder at the start and not added in later. -
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds a StatefulBeanToCsv from the information provided, filling in default values where none have been specified.withApplyQuotesToAll
(boolean applyQuotesToAll) Sets whether all outputs should be put in quotes.withErrorLocale
(Locale errorLocale) Sets the locale to be used for all error messages.withEscapechar
(char escapechar) withExceptionHandler
(CsvExceptionHandler exceptionHandler) Sets the handler for recoverable exceptions raised during processing of records.withIgnoreField
(Class<?> type, Field field) Adds aField
to the list of fields opencsv should ignore completely.withLineEnd
(String lineEnd) withMappingStrategy
(MappingStrategy<T> mappingStrategy) Sets the mapping strategy for writing beans to a CSV destination.withOrderedResults
(boolean orderedResults) Sets whether or not results must be written in the same order in which they appear in the list of beans provided as input.withProfile
(String profile) Selects a profile for deciding which configurations to use for the bean fields.withQuotechar
(char quotechar) withSeparator
(char separator) withThrowExceptions
(boolean throwExceptions) Sets the handler for recoverable exceptions that arise during the processing of records.
-
Field Details
-
separator
private char separator -
quotechar
private char quotechar -
escapechar
private char escapechar -
lineEnd
-
mappingStrategy
-
writer
-
csvWriter
-
exceptionHandler
-
orderedResults
private boolean orderedResults -
errorLocale
-
applyQuotesToAll
private boolean applyQuotesToAll -
ignoredFields
-
profile
-
-
Constructor Details
-
StatefulBeanToCsvBuilder
Default constructor - Being stateful the writer is required by the builder at the start and not added in later.- Parameters:
writer
- - the writer that will be used to output the csv version of the bean.
-
StatefulBeanToCsvBuilder
Being stateful the writer is required by the builder at the start and not added in later. By passing in the ICSVWriter you can create a writer with the desired ICSVParser to allow you to use the exact same parser for reading and writing.- Parameters:
icsvWriter
- - the ICSVWriter that will be used to output the csv version of the bean.- Since:
- 4.2
-
-
Method Details
-
withMappingStrategy
Sets the mapping strategy for writing beans to a CSV destination.If the mapping strategy is set this way, it will always be used instead of automatic determination of an appropriate mapping strategy.
It is perfectly legitimate to read a CSV source, take the mapping strategy from the read operation, and pass it in to this method for a write operation. This conserves some processing time, but, more importantly, preserves header ordering.
- Parameters:
mappingStrategy
- The mapping strategy to be used for write operations- Returns:
- this
-
withSeparator
- Parameters:
separator
- The field separator to be used when writing a CSV file- Returns:
- this
- See Also:
-
withQuotechar
- Parameters:
quotechar
- The quote character to be used when writing a CSV file- Returns:
- this
- See Also:
-
withEscapechar
- Parameters:
escapechar
- The escape character to be used when writing a CSV file- Returns:
- this
- See Also:
-
withLineEnd
- Parameters:
lineEnd
- The line ending to be used when writing a CSV file- Returns:
- this
- See Also:
-
withThrowExceptions
Sets the handler for recoverable exceptions that arise during the processing of records.This is a convenience function and is maintained for backwards compatibility. Passing in
true
is equivalent towithExceptionHandler(new ExceptionHandlerThrow())
andfalse
is equivalent towithExceptionHandler(new ExceptionHandlerQueue())
Please note that if both this method and
withExceptionHandler(CsvExceptionHandler)
are called, the last call wins.- Parameters:
throwExceptions
- Whether or not exceptions should be thrown while writing a CSV file. If not, they may be retrieved later by callingStatefulBeanToCsv.getCapturedExceptions()
.- Returns:
- this
- See Also:
-
withExceptionHandler
Sets the handler for recoverable exceptions raised during processing of records.If neither this method nor
withThrowExceptions(boolean)
is called, the default exception handler isExceptionHandlerThrow
.Please note that if both this method and
withThrowExceptions(boolean)
are called, the last call wins.- Parameters:
exceptionHandler
- The exception handler to be used. Ifnull
, this method does nothing.- Returns:
this
- Since:
- 5.2
-
withOrderedResults
Sets whether or not results must be written in the same order in which they appear in the list of beans provided as input.- Parameters:
orderedResults
- Whether or not the lines written are in the same order they appeared in the input- Returns:
- this
- Since:
- 4.0
- See Also:
-
withErrorLocale
Sets the locale to be used for all error messages.- Parameters:
errorLocale
- Locale for error messages. If null, the default locale is used.- Returns:
- this
- Since:
- 4.0
- See Also:
-
withApplyQuotesToAll
Sets whether all outputs should be put in quotes. Defaults totrue
.- Parameters:
applyQuotesToAll
- Whether all outputs should be quoted- Returns:
- this
- Since:
- 4.2
- See Also:
-
withIgnoreField
public StatefulBeanToCsvBuilder<T> withIgnoreField(Class<?> type, Field field) throws IllegalArgumentException Adds aField
to the list of fields opencsv should ignore completely.May be called as many times as necessary.
- Parameters:
type
- The class opencsv will encounter the field in during processing. In the case of inheritance, this may not be the declaring class.field
- The field opencsv is to ignore- Returns:
this
- Throws:
IllegalArgumentException
- If one of the parameters isnull
orfield
cannot be found intype
.- Since:
- 5.0
- See Also:
-
withProfile
Selects a profile for deciding which configurations to use for the bean fields.- Parameters:
profile
- The name of the profile to be used- Returns:
this
- Since:
- 5.4
-
build
Builds a StatefulBeanToCsv from the information provided, filling in default values where none have been specified.- Returns:
- A new
StatefulBeanToCsv
-