Context
DefaultParsingContext
, ParsingContextSnapshot
, ParsingContextWrapper
public interface ParsingContext extends Context
RowProcessor
.
The ParsingContext can be used to control and to obtain information about the parsing process.
RowProcessor
,
DefaultParsingContext
Modifier and Type | Method | Description |
---|---|---|
boolean |
columnsReordered() |
Indicates whether selected fields (using
CommonSettings.selectFields(java.lang.String...) and friends) are being reordered. |
java.util.Map<java.lang.Long,java.lang.String> |
comments() |
Returns all comments collected by the parser so far.
|
long |
currentChar() |
Returns the index of the last char read from the input so far.
|
long |
currentLine() |
Returns the current line of text being processed by the parser
|
java.lang.String |
currentParsedContent() |
Returns a String with the input character sequence parsed to produce the current record.
|
int[] |
extractedFieldIndexes() |
Returns the indexes of each field extracted from the input when fields are selected in the parser settings (i.e.
|
java.lang.String |
fieldContentOnError() |
Returns a String with the input character sequence accumulated on a field before
TextParsingException occurred. |
java.lang.String[] |
headers() |
Returns the file headers that identify each parsed record.
|
java.lang.String |
lastComment() |
Returns the last comment found in the input.
|
char[] |
lineSeparator() |
Returns the line separator characters used to separate individual records when parsing.
|
java.lang.String[] |
parsedHeaders() |
Returns the headers parsed from the input, if and only if
CommonParserSettings.headerExtractionEnabled is true . |
void |
skipLines(long lines) |
Skips a given number of lines from the current position.
|
currentColumn, currentRecord, errorContentLength, indexOf, indexOf, isStopped, selectedHeaders, stop
java.lang.String[] headers()
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 use parsedHeaders()
headers
in interface Context
CommonParserSettings
,
CommonSettings
int[] extractedFieldIndexes()
CommonSettings.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.
extractedFieldIndexes
in interface Context
CommonSettings
boolean columnsReordered()
CommonSettings.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()
columnsReordered
in interface Context
CommonParserSettings
,
CommonSettings
long currentLine()
long currentChar()
void skipLines(long lines)
lines
- the number of lines to be skipped.java.lang.String[] parsedHeaders()
CommonParserSettings.headerExtractionEnabled
is true
.
The result of this method won't return the list of headers manually set by the user in CommonSettings.getHeaders()
.
Use the headers()
method instead to obtain the headers actually used by the parser.CommonParserSettings.headerExtractionEnabled
is true
.java.lang.String currentParsedContent()
java.lang.String fieldContentOnError()
TextParsingException
occurred.java.util.Map<java.lang.Long,java.lang.String> comments()
CommonParserSettings.isCommentCollectionEnabled()
evaluates to false
.java.lang.String lastComment()
null
will be returned if CommonParserSettings.isCommentCollectionEnabled()
is evaluated to false
.char[] lineSeparator()
Format.getLineSeparator()
configuration, or the line separator sequence
identified automatically when CommonParserSettings.isLineSeparatorDetectionEnabled()
evaluates to true
.