org.apache.fulcrum.parser
Class TSVParser

java.lang.Object
  extended by org.apache.fulcrum.parser.DataStreamParser
      extended by org.apache.fulcrum.parser.TSVParser
All Implemented Interfaces:
Iterator, 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: TSVParser.java 535465 2007-05-05 06:58:06Z tv $
Author:
Sean Legassick

Field Summary
 
Fields inherited from class org.apache.fulcrum.parser.DataStreamParser
log
 
Constructor Summary
TSVParser(Reader in)
          Create a new TSVParser instance.
TSVParser(Reader in, List columnNames)
          Create a new TSVParser instance.
TSVParser(Reader in, List columnNames, String characterEncoding)
          Create a new TSVParser instance.
 
Method Summary
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
 

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 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 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 class DataStreamParser


Copyright © 2005-2009 The Apache Software Foundation. All Rights Reserved.