com.vectorprint.configuration.generated.parser.HelpParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of Config Show documentation
Show all versions of Config Show documentation
This project is about configuration of applications and about parameterization of Objects.
This library offers annotations (and annotation processors), parsers, typing, observing changes, serialization,
cloning and more when working with settings and/or object parameters. Settings and its features can be declared using an xml format.
The library offers syntax support for settings and parameters in a loosely coupled manner. You are not restricted to built in syntax, you
can provide your own.
At runtime this library tracks keys for which a default is used because they are not found in settings. Also it tracks
unused keys.
You can stack features for settings such as caching, preparing keys and values, readonlyness, threadsafety, helpsupport, reading / parsing from input. You can easily develop
your own features for settings.
/* HelpParser.java */
/* Generated by: ParserGeneratorCC: Do not edit this line. HelpParser.java */
package com.vectorprint.configuration.generated.parser;
import java.util.Map;
import com.vectorprint.configuration.PropertyHelp;
import com.vectorprint.configuration.PropertyHelpImpl;
/**
* A parser for key based help in the form key=type;helptext, helptext can span lines by escaping the end of a line:
*
*
help=Double;dit is een\
mooie help tekst\
!
*
*/
public class HelpParser implements HelpParserConstants {
final public void parse(Map h) throws ParseException {
label_1:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case KEY:{
break;
}
default:
jj_la1[0] = jj_gen;
break label_1;
}
help(h);
}
jj_consume_token(0);
}
final public void help(Map h) throws ParseException {Token t = null; StringBuilder v = new StringBuilder(""); String[] kt = null;
kt = keyAndType();
t = jj_consume_token(VALUE);
v.append(t.image);
label_2:
while (true) {
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case CONTINUATION:{
break;
}
default:
jj_la1[1] = jj_gen;
break label_2;
}
t = jj_consume_token(CONTINUATION);
v.append(t.image.substring(1));
switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) {
case VALUE:{
t = jj_consume_token(VALUE);
v.append(t.image);
break;
}
default:
jj_la1[2] = jj_gen;
;
}
}
h.put(kt[0],new PropertyHelpImpl(kt[1],v.toString()));
}
final public String[] keyAndType() throws ParseException {Token t = null; String k ="";
t = jj_consume_token(KEY);
k=t.image;
t = jj_consume_token(TYPE);
{if ("" != null) return new String[] {k,t.image};}
throw new IllegalStateException ("Missing return statement in function");
}
/** Generated Token Manager. */
public HelpParserTokenManager token_source;
SimpleCharStream jj_input_stream;
/** Current token. */
public Token token;
/** Next token. */
public Token jj_nt;
private int jj_ntk;
private int jj_gen;
final private int[] jj_la1 = new int[3];
static private int[] jj_la1_0;
static {
jj_la1_init_0();
}
private static void jj_la1_init_0() {
jj_la1_0 = new int[] {0x20,0x1000,0x800,};
}
/**
* Constructor with InputStream.
* @param stream input stream
*/
public HelpParser(final java.io.InputStream stream) {
this(stream, null);
}
/**
* Constructor with InputStream and supplied encoding
* @param stream input stream
* @param encoding charset to be used
*/
public HelpParser(final java.io.InputStream stream, final java.nio.charset.Charset encoding) {
jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1);
token_source = new HelpParserTokenManager(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 3; i++) jj_la1[i] = -1;
}
/**
* Reinitialise
* @param stream input stream
*/
public void ReInit(final java.io.InputStream stream) {
ReInit(stream, null);
}
/**
* Reinitialise
* @param stream input stream
* @param encoding charset to be used
*/
public void ReInit(final java.io.InputStream stream, final java.nio.charset.Charset encoding) {
jj_input_stream.reInit(stream, encoding, 1, 1);
token_source.ReInit(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 3; i++) jj_la1[i] = -1;
}
/**
* Constructor with InputStream.
* @param stream char stream
*/
public HelpParser(final java.io.Reader stream) {
jj_input_stream = new SimpleCharStream(stream, 1, 1);
token_source = new HelpParserTokenManager(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 3; i++)
jj_la1[i] = -1;
}
/**
* Reinitialise
* @param stream char stream
*/
public void ReInit(final java.io.Reader stream) {
if (jj_input_stream == null) {
jj_input_stream = new SimpleCharStream(stream, 1, 1);
} else {
jj_input_stream.reInit(stream, 1, 1);
}
if (token_source == null) {
token_source = new HelpParserTokenManager(jj_input_stream);
}
token_source.ReInit(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 3; i++)
jj_la1[i] = -1;
}
/**
* Constructor with generated Token Manager.
* @param tm Token manager to use
*/
public HelpParser(final HelpParserTokenManager tm) {
token_source = tm;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 3; i++) jj_la1[i] = -1;
}
/**
* Reinitialise
* @param tm Token manager to use
*/
public void ReInit(final HelpParserTokenManager tm) {
token_source = tm;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 3; i++) jj_la1[i] = -1;
}
private Token jj_consume_token(final int kind) throws ParseException {
final Token oldToken = token;
if (token.next != null)
token = token.next;
else {
token.next = token_source.getNextToken();
token = token.next;
}
jj_ntk = -1;
if (token.kind == kind) {
jj_gen++;
return token;
}
token = oldToken;
jj_kind = kind;
throw generateParseException();
}
/**
* @return the next Token.
*/
public final Token getNextToken() {
if (token.next != null)
token = token.next;
else
token = token.next = token_source.getNextToken();
jj_ntk = -1;
jj_gen++;
return token;
}
/**
* @param index index to be retrieved
* @return the specific Token.
*/
public final Token getToken(final int index) {
Token t = token;
for (int i = 0; i < index; i++) {
if (t.next == null)
t.next = token_source.getNextToken();
t = t.next;
}
return t;
}
private int jj_ntk_f() {
jj_nt = token.next;
if (jj_nt == null) {
token.next = token_source.getNextToken();
jj_ntk = token.next.kind;
return jj_ntk;
}
jj_ntk = jj_nt.kind;
return jj_ntk;
}
private java.util.List jj_expentries = new java.util.ArrayList<>();
private int[] jj_expentry;
private int jj_kind = -1;
/**
* Generate ParseException.
* @return new Exception object. Never null
*/
public ParseException generateParseException() {
jj_expentries.clear();
boolean[] la1tokens = new boolean[14];
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
for (int i = 0; i < 3; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<false
.
*/
public final boolean trace_enabled() {
return false;
}
/** Enable tracing. */
public final void enable_tracing() {}
/** Disable tracing. */
public final void disable_tracing() {}
}