|
|||||||||
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.
ParseException
private 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
ParseException
public 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 |