Package com.opencsv
Class CSVReaderHeaderAwareBuilder
- java.lang.Object
-
- com.opencsv.CSVReaderBaseBuilder<CSVReaderHeaderAware>
-
- com.opencsv.CSVReaderHeaderAwareBuilder
-
public class CSVReaderHeaderAwareBuilder extends CSVReaderBaseBuilder<CSVReaderHeaderAware>
Builder forCSVReaderHeaderAware
.- Since:
- 4.2
-
-
Field Summary
-
Fields inherited from class com.opencsv.CSVReaderBaseBuilder
errorLocale, icsvParser, keepCR, lineValidatorAggregator, multilineLimit, nullFieldIndicator, reader, rowProcessor, rowValidatorAggregator, skipLines, verifyReader
-
-
Constructor Summary
Constructors Constructor Description CSVReaderHeaderAwareBuilder(java.io.Reader reader)
Sets the reader to an underlying CSV source.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CSVReaderHeaderAware
build()
Creates theCSVReaderHeaderAware
.CSVReaderHeaderAwareBuilder
withCSVParser(ICSVParser icsvParser)
Sets the parser to use to parse the input.CSVReaderHeaderAwareBuilder
withErrorLocale(java.util.Locale errorLocale)
Sets the locale for all error messages.CSVReaderHeaderAwareBuilder
withFieldAsNull(CSVReaderNullFieldIndicator indicator)
Checks to see if it should treat a field with two separators, two quotes, or both as a null field.CSVReaderHeaderAwareBuilder
withKeepCarriageReturn(boolean keepCR)
Sets if the reader will keep or discard carriage returns.CSVReaderHeaderAwareBuilder
withLineValidator(LineValidator lineValidator)
Adds aLineValidator
to theCSVReaderHeaderAware
.CSVReaderHeaderAwareBuilder
withMultilineLimit(int multilineLimit)
Sets the maximum number of lines allowed in a multiline record.CSVReaderHeaderAwareBuilder
withRowProcessor(RowProcessor rowProcessor)
Adds aRowProcessor
to theCSVReaderHeaderAware
.CSVReaderHeaderAwareBuilder
withRowValidator(RowValidator rowValidator)
Adds aRowValidator
to theCSVReaderHeaderAware
.CSVReaderHeaderAwareBuilder
withSkipLines(int skipLines)
Sets the number of lines to skip before reading.CSVReaderHeaderAwareBuilder
withVerifyReader(boolean verifyReader)
Checks to see if theCSVReaderHeaderAware
should verify the reader state before reads or not.-
Methods inherited from class com.opencsv.CSVReaderBaseBuilder
getCsvParser, getErrorLocale, getLineValidatorAggregator, getMultilineLimit, getOrCreateCsvParser, getReader, getRowValidatorAggregator, getSkipLines, isVerifyReader, keepCarriageReturn
-
-
-
-
Method Detail
-
withSkipLines
public CSVReaderHeaderAwareBuilder withSkipLines(int skipLines)
Sets the number of lines to skip before reading.- Parameters:
skipLines
- The number of lines to skip before reading.- Returns:
this
-
withCSVParser
public CSVReaderHeaderAwareBuilder withCSVParser(ICSVParser icsvParser)
Sets the parser to use to parse the input.- Parameters:
icsvParser
- The parser to use to parse the input.- Returns:
this
-
withKeepCarriageReturn
public CSVReaderHeaderAwareBuilder withKeepCarriageReturn(boolean keepCR)
Sets if the reader will keep or discard carriage returns.- Parameters:
keepCR
- True to keep carriage returns, false to discard.- Returns:
this
-
withVerifyReader
public CSVReaderHeaderAwareBuilder withVerifyReader(boolean verifyReader)
Checks to see if theCSVReaderHeaderAware
should verify the reader state before reads or not.This should be set to false if you are using some form of asynchronous reader (like readers created by the java.nio.* classes).
The default value is true.
- Parameters:
verifyReader
- True ifCSVReaderHeaderAware
should verify reader before each read, false otherwise.- Returns:
this
-
withFieldAsNull
public CSVReaderHeaderAwareBuilder withFieldAsNull(CSVReaderNullFieldIndicator indicator)
Checks to see if it should treat a field with two separators, two quotes, or both as a null field.- Parameters:
indicator
-CSVReaderNullFieldIndicator
set to what should be considered a null field.- Returns:
this
-
withMultilineLimit
public CSVReaderHeaderAwareBuilder withMultilineLimit(int multilineLimit)
Sets the maximum number of lines allowed in a multiline record. More than this number in one record results in an IOException.- Parameters:
multilineLimit
- No more than this number of lines is allowed in a single input record. The default isCSVReader.DEFAULT_MULTILINE_LIMIT
.- Returns:
this
-
withErrorLocale
public CSVReaderHeaderAwareBuilder withErrorLocale(java.util.Locale errorLocale)
Sets the locale for all error messages.- Parameters:
errorLocale
- Locale for error messages- Returns:
this
- Since:
- 4.0
-
withLineValidator
public CSVReaderHeaderAwareBuilder withLineValidator(LineValidator lineValidator)
Adds aLineValidator
to theCSVReaderHeaderAware
. MultipleLineValidator
s can be added with multiple calls.- Parameters:
lineValidator
-LineValidator
to inject.- Returns:
this
- Since:
- 5.0
-
withRowValidator
public CSVReaderHeaderAwareBuilder withRowValidator(RowValidator rowValidator)
Adds aRowValidator
to theCSVReaderHeaderAware
. MultipleRowValidator
s can be added with multiple calls.- Parameters:
rowValidator
-RowValidator
to inject- Returns:
this
- Since:
- 5.0
-
withRowProcessor
public CSVReaderHeaderAwareBuilder withRowProcessor(RowProcessor rowProcessor)
Adds aRowProcessor
to theCSVReaderHeaderAware
. Only a singleRowProcessor
can be added so multiple calls will overwrite the previously setRowProcessor
.- Parameters:
rowProcessor
-RowProcessor
to inject- Returns:
this
- Since:
- 5.0
-
build
public CSVReaderHeaderAware build() throws java.lang.RuntimeException
Creates theCSVReaderHeaderAware
.- Specified by:
build
in classCSVReaderBaseBuilder<CSVReaderHeaderAware>
- Returns:
- The
CSVReaderHeaderAware
based on the set criteria. - Throws:
java.lang.RuntimeException
- If the header mapping cannot be initialized from the first line of data
-
-