Package com.opencsv
Class RFC4180Parser
- java.lang.Object
-
- com.opencsv.AbstractCSVParser
-
- com.opencsv.RFC4180Parser
-
- All Implemented Interfaces:
ICSVParser
public class RFC4180Parser extends AbstractCSVParser
This Parser is meant to parse according to the RFC4180 specification.Since it shares the same interface with the CSVParser there are methods here that will do nothing. For example the RFC4180 specification does not have an concept of an escape character so the getEscape method will return char 0. The methods that are not supported are noted in the Javadocs.
Another departure from the CSVParser is that there is only two constructors and only one is available publicly. The intent is that if you want to create anything other than a default RFC4180Parser you should use the CSVParserBuilder. This way the code will not become cluttered with constructors as the CSVParser did.
Examples:
ICSVParser parser = new RFC4180Parser();
or
CSVParserBuilder builder = new CSVParserBuilder() ICSVParser parser = builder.withParserType(ParserType.RFC4180Parser).build()
- Since:
- 3.9
- Author:
- Scott Conway
-
-
Field Summary
-
Fields inherited from class com.opencsv.AbstractCSVParser
nullFieldIndicator, pending, quotechar, separator
-
Fields inherited from interface com.opencsv.ICSVParser
DEFAULT_BUNDLE_NAME, DEFAULT_ESCAPE_CHARACTER, DEFAULT_IGNORE_LEADING_WHITESPACE, DEFAULT_IGNORE_QUOTATIONS, DEFAULT_NULL_FIELD_INDICATOR, DEFAULT_QUOTE_CHARACTER, DEFAULT_SEPARATOR, DEFAULT_STRICT_QUOTES, INITIAL_READ_SIZE, MAX_SIZE_FOR_EMPTY_FIELD, NEWLINE, NULL_CHARACTER, READ_BUFFER_SIZE
-
-
Constructor Summary
Constructors Constructor Description RFC4180Parser()
Default constructor for the RFC4180Parser.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
convertToCsvValue(java.lang.String value, boolean applyQuotesToAll)
Used when reverse parsing an array of strings to a single string.java.lang.String
getPendingText()
If a parser is in the middle of parsing a multiline field, this will return the text collected so far.CSVReaderNullFieldIndicator
nullFieldIndicator()
protected java.lang.String[]
parseLine(java.lang.String nextLine, boolean multi)
Parses an incoming String and returns an array of elements.void
setErrorLocale(java.util.Locale errorLocale)
Sets the locale for all error messages.-
Methods inherited from class com.opencsv.AbstractCSVParser
getQuotechar, getSeparator, isPending, isSurroundWithQuotes, parseLine, parseLineMulti, parseToLine
-
-
-
-
Method Detail
-
convertToCsvValue
protected java.lang.String convertToCsvValue(java.lang.String value, boolean applyQuotesToAll)
Description copied from class:AbstractCSVParser
Used when reverse parsing an array of strings to a single string. Handles the application of quotes around the string and handling any quotes within the string.- Specified by:
convertToCsvValue
in classAbstractCSVParser
- Parameters:
value
- String to be testedapplyQuotesToAll
- All values should be surrounded with quotes- Returns:
- String that will go into the CSV string
-
parseLine
protected java.lang.String[] parseLine(java.lang.String nextLine, boolean multi)
Parses an incoming String and returns an array of elements.- Specified by:
parseLine
in classAbstractCSVParser
- Parameters:
nextLine
- The string to parsemulti
- Does it take multiple lines to form a single record?- Returns:
- The list of elements, or null if nextLine is null
-
nullFieldIndicator
public CSVReaderNullFieldIndicator nullFieldIndicator()
- Specified by:
nullFieldIndicator
in interfaceICSVParser
- Overrides:
nullFieldIndicator
in classAbstractCSVParser
- Returns:
- The null field indicator.
-
getPendingText
public java.lang.String getPendingText()
Description copied from interface:ICSVParser
If a parser is in the middle of parsing a multiline field, this will return the text collected so far.- Specified by:
getPendingText
in interfaceICSVParser
- Overrides:
getPendingText
in classAbstractCSVParser
- Returns:
- The incomplete text for a multiline field. If there is no pending text, this returns an empty string.
-
setErrorLocale
public void setErrorLocale(java.util.Locale errorLocale)
Description copied from interface:ICSVParser
Sets the locale for all error messages.- Parameters:
errorLocale
- Locale for error messages. If null, the default locale is used.
-
-