Package org.apache.fulcrum.parser
Class TSVParser
- java.lang.Object
-
- org.apache.fulcrum.parser.DataStreamParser
-
- org.apache.fulcrum.parser.TSVParser
-
- All Implemented Interfaces:
Iterator<ValueParser>
,org.apache.avalon.framework.logger.LogEnabled
public class TSVParser extends DataStreamParser
TSVParser is used to parse a stream with tab-separated values and generate ParameterParser objects which can be used to extract the values in the desired type.The class extends the abstract class DataStreamParser and implements initTokenizer with suitable values for TSV files to provide this functionality.
The class (indirectly through DataStreamParser) implements the java.util.Iterator interface for convenience. This allows simple use in a Velocity template for example:
#foreach ($row in $tsvfile) Name: $row.Name Description: $row.Description #end
- Version:
- $Id$
- Author:
- Sean Legassick
-
-
Field Summary
-
Fields inherited from class org.apache.fulcrum.parser.DataStreamParser
log
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
initTokenizer(StreamTokenizer tokenizer)
Initialize the StreamTokenizer instance used to read the lines from the input reader.-
Methods inherited from class org.apache.fulcrum.parser.DataStreamParser
enableLogging, hasNext, hasNextRow, next, nextRow, readColumnNames, remove, setColumnNames
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Constructor Detail
-
TSVParser
public TSVParser(Reader in)
Create a new TSVParser instance. Requires a Reader to read the tab-separated values from. The column headers must be set independently either explicitly, or by reading the first line of the TSV values.- Parameters:
in
- the input reader.
-
TSVParser
public TSVParser(Reader in, List<String> columnNames)
Create a new TSVParser instance. Requires a Reader to read the tab-separated values from, and a list of column names.- Parameters:
in
- the input reader.columnNames
- a list of column names.
-
TSVParser
public TSVParser(Reader in, List<String> columnNames, String characterEncoding)
Create a new TSVParser instance. Requires a Reader to read the tab-separated values from, a list of column names and a character encoding.- Parameters:
in
- the input reader.columnNames
- a list of column names.characterEncoding
- the character encoding of the input.
-
-
Method Detail
-
initTokenizer
protected void initTokenizer(StreamTokenizer tokenizer)
Initialize the StreamTokenizer instance used to read the lines from the input reader.- Specified by:
initTokenizer
in classDataStreamParser
- Parameters:
tokenizer
- the stream tokenizer to be used
-
-