Interface ParsingContext
- All Superinterfaces:
Context
- All Known Implementing Classes:
DefaultParsingContext
,NoopParsingContext
,ParsingContextSnapshot
,ParsingContextWrapper
RowProcessor
.
The ParsingContext can be used to control and to obtain information about the parsing process.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Indicates whether selected fields (usingCommonSettings.selectFields(java.lang.String...)
and friends) are being reordered.comments()
Returns all comments collected by the parser so far.long
Returns the index of the last char read from the input so far.long
Returns the current line of text being processed by the parserReturns a String with the input character sequence parsed to produce the current record.int
Returns the length of the character sequence parsed to produce the current record.int[]
Returns the indexes of each field extracted from the input when fields are selected in the parser settings (i.e.Returns a String with the input character sequence accumulated on a field beforeTextParsingException
occurred.String[]
headers()
Returns the file headers that identify each parsed record.Returns the last comment found in the input.char[]
Returns the line separator characters used to separate individual records when parsing.String[]
Returns the headers parsed from the input, if and only ifCommonParserSettings.headerExtractionEnabled
istrue
.void
skipLines
(long lines) Skips a given number of lines from the current position.Methods inherited from interface com.univocity.parsers.common.Context
currentColumn, currentRecord, errorContentLength, indexOf, indexOf, isStopped, recordMetaData, selectedHeaders, stop, toRecord
-
Method Details
-
headers
String[] headers()Returns the file headers that identify each parsed record.If the headers are extracted from the input (i.e.
CommonParserSettings.isHeaderExtractionEnabled()
== true), then these values will be returned.If no headers are extracted from the input, then the configured headers in
CommonSettings.getHeaders()
will be returned. Note that the user-provided headers will override the header list parsed from the input, if any. To obtain the original list of headers found in the input useparsedHeaders()
-
extractedFieldIndexes
int[] extractedFieldIndexes()Returns the indexes of each field extracted from the input when fields are selected in the parser settings (i.e. usingCommonSettings.selectFields(java.lang.String...)
and friends).The indexes are relative to their original position in the input.
For example, if the input has the fields "A, B, C, D", and the selected fields are "A, D", then the extracted field indexes will return [0, 3]
If no fields were selected, then this method will return null. This means all fields are being parsed.
- Specified by:
extractedFieldIndexes
in interfaceContext
- Returns:
- The indexes of each selected field; null if no fields were selected.
- See Also:
-
columnsReordered
boolean columnsReordered()Indicates whether selected fields (usingCommonSettings.selectFields(java.lang.String...)
and friends) are being reordered.If columns are reordered, each parsed record will contain values only for the selected fields, as specified by
CommonParserSettings.isColumnReorderingEnabled()
- Specified by:
columnsReordered
in interfaceContext
- Returns:
- true if the parsed records are being reordered by the parser, false otherwise
- See Also:
-
currentLine
long currentLine()Returns the current line of text being processed by the parser- Returns:
- current line of text being processed by the parser
-
currentChar
long currentChar()Returns the index of the last char read from the input so far.- Returns:
- the index of the last char read from the input so far.
-
skipLines
void skipLines(long lines) Skips a given number of lines from the current position.- Parameters:
lines
- the number of lines to be skipped.
-
parsedHeaders
String[] parsedHeaders()Returns the headers parsed from the input, if and only ifCommonParserSettings.headerExtractionEnabled
istrue
. The result of this method won't return the list of headers manually set by the user inCommonSettings.getHeaders()
. Use theheaders()
method instead to obtain the headers actually used by the parser.- Returns:
- the headers parsed from the input, when
CommonParserSettings.headerExtractionEnabled
istrue
.
-
currentParsedContent
String currentParsedContent()Returns a String with the input character sequence parsed to produce the current record.- Returns:
- the text content parsed for the current input record.
-
currentParsedContentLength
int currentParsedContentLength()Returns the length of the character sequence parsed to produce the current record.- Returns:
- the length of the text content parsed for the current input record
-
fieldContentOnError
String fieldContentOnError()Returns a String with the input character sequence accumulated on a field beforeTextParsingException
occurred.- Returns:
- the text content parsed for the current field of the current input record at the time of the error.
-
comments
Returns all comments collected by the parser so far. An empty map will be returned ifCommonParserSettings.isCommentCollectionEnabled()
evaluates tofalse
.- Returns:
- a map containing the line numbers and comments found in each.
-
lastComment
String lastComment()Returns the last comment found in the input.null
will be returned ifCommonParserSettings.isCommentCollectionEnabled()
is evaluated tofalse
.- Returns:
- the last comment found in the input.
-
lineSeparator
char[] lineSeparator()Returns the line separator characters used to separate individual records when parsing. This could be the line separator defined in theFormat.getLineSeparator()
configuration, or the line separator sequence identified automatically whenCommonParserSettings.isLineSeparatorDetectionEnabled()
evaluates totrue
.- Returns:
- the line separator sequence. Might contain one or two characters.
-