com.univocity.parsers.common
Interface ParsingContext

All Superinterfaces:
Context
All Known Implementing Classes:
DefaultParsingContext, ParsingContextSnapshot, ParsingContextWrapper

public interface ParsingContext
extends Context

Parsing context information available to instances of RowProcessor.

The ParsingContext can be used to control and to obtain information about the parsing process.

Author:
uniVocity Software Pty Ltd - parsers@univocity.com
See Also:
RowProcessor, DefaultParsingContext

Method Summary
 boolean columnsReordered()
          Indicates whether selected fields (using CommonSettings.selectFields(java.lang.String...) and friends) are being reordered.
 Map<Long,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
 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.
 String fieldContentOnError()
          Returns a String with the input character sequence accumulated on a field before TextParsingException occurred.
 String[] headers()
          Returns the file headers that identify each parsed record.
 String lastComment()
          Returns the last comment found in the input.
 char[] lineSeparator()
          Returns the line separator characters used to separate individual records when parsing.
 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.
 
Methods inherited from interface com.univocity.parsers.common.Context
currentColumn, currentRecord, indexOf, indexOf, isStopped, selectedHeaders, stop
 

Method Detail

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 use parsedHeaders()

Specified by:
headers in interface Context
Returns:
the headers used to identify each record parsed from the input.
See Also:
CommonParserSettings, CommonSettings

extractedFieldIndexes

int[] extractedFieldIndexes()
Returns the indexes of each field extracted from the input when fields are selected in the parser settings (i.e. using 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.

Specified by:
extractedFieldIndexes in interface Context
Returns:
The indexes of each selected field; null if no fields were selected.
See Also:
CommonSettings

columnsReordered

boolean columnsReordered()
Indicates whether selected fields (using 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()

Specified by:
columnsReordered in interface Context
Returns:
true if the parsed records are being reordered by the parser, false otherwise
See Also:
CommonParserSettings, CommonSettings

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 if 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.

Returns:
the headers parsed from the input, when CommonParserSettings.headerExtractionEnabled is true.

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.

fieldContentOnError

String fieldContentOnError()
Returns a String with the input character sequence accumulated on a field before TextParsingException occurred.

Returns:
the text content parsed for the current field of the current input record at the time of the error.

comments

Map<Long,String> comments()
Returns all comments collected by the parser so far. An empty map will be returned if CommonParserSettings.isCommentCollectionEnabled() evaluates to false.

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 if CommonParserSettings.isCommentCollectionEnabled() is evaluated to false.

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 the Format.getLineSeparator() configuration, or the line separator sequence identified automatically when CommonParserSettings.isLineSeparatorDetectionEnabled() evaluates to true.

Returns:
the line separator sequence. Might contain one or two characters.


Copyright © 2016 uniVocity Software Pty Ltd. All rights reserved.