Package com.univocity.parsers.common
Class ParserOutput
java.lang.Object
com.univocity.parsers.common.ParserOutput
The ParserOutput is the component that manages records parsed by
AbstractParser
and their values.
It is solely responsible for deciding when:
- parsed records should be reordered according to the fields selected in
CommonSettings
- characters and values parsed in
AbstractParser.parseRecord()
should be retained or discarded - input headers should be loaded from the records parsed in
AbstractParser.parseRecord()
or fromCommonSettings.getHeaders()
AbstractParser
.- Author:
- Univocity Software Pty Ltd - parsers@univocity.com
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe appender available to parsers for accumulating characters read from the input.protected int
Keeps track of the current column being parsed in the input.protected final String[]
Stores the values parsed for a record.protected final CommonParserSettings<?>
boolean
-
Constructor Summary
ConstructorsConstructorDescriptionParserOutput
(AbstractParser<?> parser, CommonParserSettings<?> settings) Initializes the ParserOutput with the configuration specified inCommonParserSettings
ParserOutput
(CommonParserSettings<?> settings) Initializes the ParserOutput with the configuration specified inCommonParserSettings
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
Discards the values parsed so farvoid
Adds a nullValue (as specified inCommonSettings.getNullValue()
) to the output and prepares the next position in the record to receive more values.int
Returns the position of the current parsed valuelong
Returns the current record index.String[]
Returns the sequence of values that represent the headers each field in the input.int[]
Returns the selected indexes of all fields as defined inCommonSettings
.protected void
boolean
Indicates whether fields selected using the field selection methods (inCommonSettings
) are being reordered.String[]
Gets all values parsed in theparsedValues
arrayvoid
Adds the accumulated value in the appender object to the output and prepares the next position in the record to receive more values.void
valueParsed
(String value) Adds a value processed externally to the output and prepares the next position in the record to receive more values
-
Field Details
-
column
protected int columnKeeps track of the current column being parsed in the input. Calls tovalueParsed()
andemptyParsed()
will increase the column count. This value is reset to zero after a row is parsed. -
parsedValues
Stores the values parsed for a record. -
settings
-
appender
The appender available to parsers for accumulating characters read from the input.
This attribute is assigned to different instances of CharAppender during parsing process, namely, a (potentially) different CharAppender for each parsed column, taken from
appenders
[column
] -
trim
public boolean trim -
pendingRecords
-
-
Constructor Details
-
ParserOutput
Initializes the ParserOutput with the configuration specified inCommonParserSettings
- Parameters:
settings
- the parser configuration
-
ParserOutput
Initializes the ParserOutput with the configuration specified inCommonParserSettings
- Parameters:
parser
- the parser whose output will be managed by this class.settings
- the parser configuration
-
-
Method Details
-
initializeHeaders
protected void initializeHeaders() -
rowParsed
Gets all values parsed in theparsedValues
array- Returns:
- the sequence of parsed values in a record.
-
getHeaderAsStringArray
-
getHeaders
Returns the sequence of values that represent the headers each field in the input. This can be either a parsed record or the headers as defined inCommonSettings.getHeaders()
- Returns:
- the headers each field in the input
-
getSelectedIndexes
public int[] getSelectedIndexes()Returns the selected indexes of all fields as defined inCommonSettings
. Null if no fields were selected.- Returns:
- the selected indexes of all fields as defined in
CommonSettings
. Null if no fields were selected.
-
isColumnReorderingEnabled
public boolean isColumnReorderingEnabled()Indicates whether fields selected using the field selection methods (inCommonSettings
) are being reordered.- Returns:
false if no fields were selected or column reordering has been disabled in
CommonParserSettings.isColumnReorderingEnabled()
true if fields were selected and column reordering has been enabled in
CommonParserSettings.isColumnReorderingEnabled()
-
getCurrentColumn
public int getCurrentColumn()Returns the position of the current parsed value- Returns:
- the position of the current parsed value
-
emptyParsed
public void emptyParsed()Adds a nullValue (as specified inCommonSettings.getNullValue()
) to the output and prepares the next position in the record to receive more values. -
valueParsed
public void valueParsed()Adds the accumulated value in the appender object to the output and prepares the next position in the record to receive more values. -
valueParsed
Adds a value processed externally to the output and prepares the next position in the record to receive more values- Parameters:
value
- the value to be added to the current record position.
-
getCurrentRecord
public long getCurrentRecord()Returns the current record index. The number returned here reflects the number of actually parsed and valid records sent to the output ofrowParsed()
.- Returns:
- the current record index.
-
discardValues
public final void discardValues()Discards the values parsed so far
-