org.jplate.kvp.parser.impl.defaults
Class DefaultKvpParser<B extends KvpBuilderIfc<?>>

java.lang.Object
  extended by org.jplate.foundation.parser.javacc.impl.AbstractJavaccParser<B>
      extended by org.jplate.kvp.parser.impl.defaults.DefaultKvpParser<B>
Type Parameters:
B - The builder who will be called to build objects as they are parsed.
All Implemented Interfaces:
JavaccParserIfc<B>, JPlateParserIfc<B>, DefaultKvpParserConstants, KvpParserIfc<B>

public final class DefaultKvpParser<B extends KvpBuilderIfc<?>>
extends AbstractJavaccParser<B>
implements KvpParserIfc<B>, DefaultKvpParserConstants

Default implementation of a KVP (key value pair) parser.

An example of KVP data follows:

Please note: values may span multiple lines by ending the line with the backslash character. For example:
some key 0 = This is a multi\
   line example of a value
some key 1 = Some single line value
some key 2 = Yet another example of \
   a multi line value
   

The following are some examples on how to use this class. Assume some implemention of KvpBuilderIfc exists.

Please note: This class is not thread-safe.

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/kvp/parser/impl/defaults/DefaultKvpParser.jj $
    


Field Summary
private  org.apache.commons.logging.Log _log
          Used for logging.
private  KvpParseContextIfc<?> _parseContext
          Used to hold parsed key/value pair data.
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
           
 DefaultKvpParserTokenManager token_source
           
 
Fields inherited from interface org.jplate.kvp.parser.impl.defaults.DefaultKvpParserConstants
DATA, DEFAULT, EOF, EOL, EQUALS, ESCAPED_EOL, ESCAPED_EQUALS, KEY, tokenImage, VALUE, VALUE_TOKEN, WHITE_SPACE
 
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
DefaultKvpParser()
          Default constructor not allowed.
DefaultKvpParser(DefaultKvpParserTokenManager tm)
           
DefaultKvpParser(java.io.InputStream stream)
           
DefaultKvpParser(java.io.InputStream stream, java.lang.String encoding)
           
DefaultKvpParser(KvpParseContextIfc<?> parseContext)
          This constructor sets the parse context to use when parsing.
DefaultKvpParser(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 ReInit(DefaultKvpParserTokenManager 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

_log

private final transient org.apache.commons.logging.Log _log
Used for logging.


_parseContext

private KvpParseContextIfc<?> _parseContext
Used to hold parsed key/value pair data.


token_source

public DefaultKvpParserTokenManager token_source

jj_input_stream

SimpleCharStream jj_input_stream

token

public Token token

jj_nt

public Token jj_nt

jj_ntk

private int jj_ntk

jj_gen

private int jj_gen

jj_la1

private final int[] jj_la1

jj_la1_0

private static int[] jj_la1_0

jj_expentries

private java.util.Vector jj_expentries

jj_expentry

private int[] jj_expentry

jj_kind

private int jj_kind
Constructor Detail

DefaultKvpParser

public DefaultKvpParser(KvpParseContextIfc<?> parseContext)
This constructor sets the parse context to use when parsing.

Parameters:
parseContext - Holds key/value parsing data.

DefaultKvpParser

public DefaultKvpParser()
Default constructor not allowed.


DefaultKvpParser

public DefaultKvpParser(java.io.InputStream stream)

DefaultKvpParser

public DefaultKvpParser(java.io.InputStream stream,
                        java.lang.String encoding)

DefaultKvpParser

public DefaultKvpParser(java.io.Reader stream)

DefaultKvpParser

public DefaultKvpParser(DefaultKvpParserTokenManager tm)
Method Detail

parse

protected final void parse(B builder)
                    throws ParseException,
                           java.lang.Exception
Description copied from class: AbstractJavaccParser
Is called by self to start parsing.

Specified by:
parse in class AbstractJavaccParser<B extends KvpBuilderIfc<?>>
Parameters:
builder - The object who can create objects from data contained in parser input stream/reader.
Throws:
java.lang.Exception - If any issue arise during parsing.
ParseException

jj_la1_0

private static void jj_la1_0()

ReInit

public void ReInit(java.io.InputStream stream)
Description copied from interface: JavaccParserIfc
JavaCC will generate this method so it is not needed to be implemented.

Specified by:
ReInit in interface JavaccParserIfc<B extends KvpBuilderIfc<?>>
Parameters:
stream - The stream from which parsing will commence.

ReInit

public void ReInit(java.io.InputStream stream,
                   java.lang.String encoding)
Description copied from interface: JavaccParserIfc
JavaCC will generate this method so it is not needed to be implemented.

Specified by:
ReInit in interface JavaccParserIfc<B extends KvpBuilderIfc<?>>
Parameters:
stream - The stream from which parsing will commence.
encoding - The character encoding to use when parsing.

ReInit

public void ReInit(java.io.Reader stream)
Description copied from interface: JavaccParserIfc
JavaCC will generate this method so it is not needed to be implemented.

Specified by:
ReInit in interface JavaccParserIfc<B extends KvpBuilderIfc<?>>
Parameters:
stream - The reader from which parsing will commence.

ReInit

public void ReInit(DefaultKvpParserTokenManager tm)

jj_consume_token

private final Token jj_consume_token(int kind)
                              throws ParseException
Throws:
ParseException

getNextToken

public final Token getNextToken()

getToken

public final Token getToken(int index)

jj_ntk

private final int jj_ntk()

generateParseException

public ParseException generateParseException()

enable_tracing

public final void enable_tracing()

disable_tracing

public final void disable_tracing()