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 intKeeps 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 inCommonParserSettingsParserOutput(CommonParserSettings<?> settings) Initializes the ParserOutput with the configuration specified inCommonParserSettings -
Method Summary
Modifier and TypeMethodDescriptionfinal voidDiscards the values parsed so farvoidAdds a nullValue (as specified inCommonSettings.getNullValue()) to the output and prepares the next position in the record to receive more values.intReturns the position of the current parsed valuelongReturns 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 voidbooleanIndicates whether fields selected using the field selection methods (inCommonSettings) are being reordered.String[]Gets all values parsed in theparsedValuesarrayvoidAdds the accumulated value in the appender object to the output and prepares the next position in the record to receive more values.voidvalueParsed(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 theparsedValuesarray- 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
-