| 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.jplate.foundation.parser.javacc.impl.AbstractJavaccParser<B>
org.jplate.tabular.csv.parser.impl.defaults.DefaultRfc4180CsvParser<B>
public final class DefaultRfc4180CsvParser<B extends CsvBuilderIfc<?>>
This CSV parser strictly adheres to RFC 4180 Please note: This class is not thread-safe.
An example of CSV data follows:CsvBuilderIfc
    exists.InputStream:
            
final CsvBuilderIfc builder = // Some implementation...
final CsvParserIfc parser = new DefaultRfc4180CsvParser ();
final InputStream inputStream = new FileInputStream ( "MyCsvFile.csv" );
parser.parse ( inputStream, builder );
            
        Reader:
            
final CsvBuilderIfc builder = // Some implementation...
final CsvParserIfc parser = new DefaultRfc4180CsvParser ();
final Reader reader = new FileReader ( "MyCsvFile.csv" );
parser.parse ( reader, builder );            
            
        String:
            
final CsvBuilderIfc builder = // Some implementation...
final CsvParserIfc parser = new DefaultRfc4180CsvParser ();
final String string = // Contains CSV data in the form of a String.
parser.parse ( string, builder );                
            
        File:
            
final CsvBuilderIfc builder = // Some implementation...
final CsvParserIfc parser = new DefaultRfc4180CsvParser ();
final File file = new File ( "MyCsvFile.csv" );
parser.parse ( file, builder );
            
        
Modifications:
    $Date: 2008-12-02 12:32:45 -0500 (Tue, 02 Dec 2008) $
    $Revision: 479 $
    $Author: sfloess $
    $HeadURL: https://jplate.svn.sourceforge.net/svnroot/jplate/trunk/src/dev/javacc/org/jplate/tabular/csv/parser/impl/defaults/DefaultRfc4180CsvParser.jj $
    
| Field Summary | |
|---|---|
private  org.apache.commons.logging.Log | 
_log
Used for logging.  | 
private  java.util.Vector | 
jj_expentries
 | 
private  int[] | 
jj_expentry
 | 
private  int | 
jj_gen
 | 
(package private)  SimpleCharStream | 
jj_input_stream
 | 
private  int | 
jj_kind
 | 
private  int[] | 
jj_la1
 | 
private static int[] | 
jj_la1_0
 | 
 Token | 
jj_nt
 | 
private  int | 
jj_ntk
 | 
 Token | 
token
 | 
 DefaultRfc4180CsvParserTokenManager | 
token_source
 | 
| Fields inherited from interface org.jplate.tabular.csv.parser.impl.defaults.DefaultRfc4180CsvParserConstants | 
|---|
CR, DEFAULT, DELIMITER, DOUBLE_QUOTE, EOF, EOL, LF, NON_QUOTED_FIELD, QUOTED_FIELD, TEXT, tokenImage, TWO_DOUBLE_QUOTES | 
| Fields inherited from interface org.jplate.foundation.parser.javacc.JavaccParserIfc | 
|---|
BUILDER_IS_NULL_MSG, FILE_DOES_NOT_EXIST_MSG, FILE_IS_NULL_MSG, INPUT_STREAM_IS_NULL_MSG, READER_IS_NULL_MSG, STRING_IS_EMPTY_MSG | 
| Constructor Summary | |
|---|---|
DefaultRfc4180CsvParser()
Default constructor.  | 
|
DefaultRfc4180CsvParser(DefaultRfc4180CsvParserTokenManager tm)
 | 
|
DefaultRfc4180CsvParser(java.io.InputStream stream)
 | 
|
DefaultRfc4180CsvParser(java.io.InputStream stream,
                        java.lang.String encoding)
 | 
|
DefaultRfc4180CsvParser(java.io.Reader stream)
 | 
|
| Method Summary | |
|---|---|
 void | 
disable_tracing()
 | 
 void | 
enable_tracing()
 | 
 ParseException | 
generateParseException()
 | 
 Token | 
getNextToken()
 | 
 Token | 
getToken(int index)
 | 
private  Token | 
jj_consume_token(int kind)
 | 
private static void | 
jj_la1_0()
 | 
private  int | 
jj_ntk()
 | 
protected  void | 
parse(B builder)
Is called by self to start parsing.  | 
 void | 
parseField(B builder,
           int maxFields,
           int fieldCount)
Parses either a quoted or non-quoted field.  | 
 void | 
ReInit(DefaultRfc4180CsvParserTokenManager tm)
 | 
 void | 
ReInit(java.io.InputStream stream)
JavaCC will generate this method so it is not needed to be implemented.  | 
 void | 
ReInit(java.io.InputStream stream,
       java.lang.String encoding)
JavaCC will generate this method so it is not needed to be implemented.  | 
 void | 
ReInit(java.io.Reader stream)
JavaCC will generate this method so it is not needed to be implemented.  | 
| Methods inherited from class org.jplate.foundation.parser.javacc.impl.AbstractJavaccParser | 
|---|
parse, parse, parse, parse | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Methods inherited from interface org.jplate.foundation.parser.JPlateParserIfc | 
|---|
parse, parse, parse, parse | 
| Field Detail | 
|---|
private final transient org.apache.commons.logging.Log _log
public DefaultRfc4180CsvParserTokenManager token_source
SimpleCharStream jj_input_stream
public Token token
public Token jj_nt
private int jj_ntk
private int jj_gen
private final int[] jj_la1
private static int[] jj_la1_0
private java.util.Vector jj_expentries
private int[] jj_expentry
private int jj_kind
| Constructor Detail | 
|---|
public DefaultRfc4180CsvParser()
public DefaultRfc4180CsvParser(java.io.InputStream stream)
public DefaultRfc4180CsvParser(java.io.InputStream stream,
                               java.lang.String encoding)
public DefaultRfc4180CsvParser(java.io.Reader stream)
public DefaultRfc4180CsvParser(DefaultRfc4180CsvParserTokenManager tm)
| Method Detail | 
|---|
protected final void parse(B builder)
                    throws ParseException,
                           java.lang.Exception
AbstractJavaccParser
parse in class AbstractJavaccParser<B extends CsvBuilderIfc<?>>builder - The object who can create objects from data contained in
        parser input stream/reader.
java.lang.Exception - If any issue arise during parsing.
ParseException
public final void parseField(B builder,
                             int maxFields,
                             int fieldCount)
                      throws ParseException,
                             java.lang.Exception
builder - The object who can build fields.maxFields - The maximum number of fields thus far.fieldCount - The current field count.
FieldCountMismatchException - If the number of fields processed is greater
         than the maximum number of fields.
java.lang.Exception - If any problem arises parsing.
ParseExceptionprivate static void jj_la1_0()
public void ReInit(java.io.InputStream stream)
JavaccParserIfc
ReInit in interface JavaccParserIfc<B extends CsvBuilderIfc<?>>stream - The stream from which parsing will commence.
public void ReInit(java.io.InputStream stream,
                   java.lang.String encoding)
JavaccParserIfc
ReInit in interface JavaccParserIfc<B extends CsvBuilderIfc<?>>stream - The stream from which parsing will commence.encoding - The character encoding to use when parsing.public void ReInit(java.io.Reader stream)
JavaccParserIfc
ReInit in interface JavaccParserIfc<B extends CsvBuilderIfc<?>>stream - The reader from which parsing will commence.public void ReInit(DefaultRfc4180CsvParserTokenManager tm)
private final Token jj_consume_token(int kind)
                              throws ParseException
ParseExceptionpublic final Token getNextToken()
public final Token getToken(int index)
private final int jj_ntk()
public ParseException generateParseException()
public final void enable_tracing()
public final void disable_tracing()
  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||