src/java.management.rest/share/classes/com/oracle/jmx/remote/rest/json/parser/JSONParser.java
author hb
Tue, 29 Aug 2017 13:34:15 +0530
branchjmx-rest-api
changeset 55985 0c5a02edfdef
child 56002 60ab3b595a8e
permissions -rw-r--r--
REST Adapter Initial commit 1. Unit tested and working GET/POST interfaces 2. Unit tested and working JSON parser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55985
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     1
/* Generated By:JavaCC: Do not edit this line. JSONParser.java */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     2
package com.oracle.jmx.remote.rest.json.parser;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     3
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     4
import java.io.StringReader;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     5
import com.oracle.jmx.remote.rest.json.*;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     6
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     7
public class JSONParser implements JSONParserConstants {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     8
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     9
    public JSONParser(String input) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    10
        this(new StringReader(input));
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    11
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    12
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    13
    public JSONElement parse() throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    14
        return jsonValue();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    15
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    16
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    17
  final public JSONElement jsonValue() throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    18
        JSONElement x;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    19
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    20
    case 17:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    21
      x = object();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    22
      break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    23
    case 21:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    24
      x = list();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    25
      break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    26
    case QUOTED_STRING:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    27
      x = string();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    28
      break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    29
    case INTEGER_LITERAL:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    30
    case FLOATING_POINT_LITERAL:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    31
      x = number();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    32
      break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    33
    case BOOL_LITERAL:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    34
      x = boolVal();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    35
      break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    36
    case NULL:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    37
      x = nullVal();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    38
      break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    39
    default:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    40
      jj_la1[0] = jj_gen;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    41
      jj_consume_token(-1);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    42
      throw new ParseException();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    43
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    44
          {if (true) return x;}
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    45
    throw new Error("Missing return statement in function");
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    46
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    47
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    48
  final public JSONObject object() throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    49
        final JSONObject jobject = new JSONObject();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    50
        JSONPrimitive key;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    51
        JSONElement value;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    52
    jj_consume_token(17);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    53
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    54
    case QUOTED_STRING:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    55
      key = string();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    56
      break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    57
    case IDENTIFIER:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    58
      key = identifier();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    59
      break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    60
    default:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    61
      jj_la1[1] = jj_gen;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    62
      jj_consume_token(-1);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    63
      throw new ParseException();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    64
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    65
    jj_consume_token(18);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    66
    value = jsonValue();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    67
          jobject.put((String)key.getValue(), value);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    68
    label_1:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    69
    while (true) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    70
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    71
      case 19:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    72
        ;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    73
        break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    74
      default:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    75
        jj_la1[2] = jj_gen;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    76
        break label_1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    77
      }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    78
      jj_consume_token(19);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    79
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    80
      case QUOTED_STRING:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    81
        key = string();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    82
        break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    83
      case IDENTIFIER:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    84
        key = identifier();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    85
        break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    86
      default:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    87
        jj_la1[3] = jj_gen;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    88
        jj_consume_token(-1);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    89
        throw new ParseException();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    90
      }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    91
      jj_consume_token(18);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    92
      value = jsonValue();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    93
                  jobject.put((String)key.getValue(), value);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    94
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    95
    jj_consume_token(20);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    96
      {if (true) return jobject;}
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    97
    throw new Error("Missing return statement in function");
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    98
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    99
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   100
  final public JSONArray list() throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   101
    final JSONArray jarray = new JSONArray();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   102
    JSONElement value;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   103
    jj_consume_token(21);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   104
    value = jsonValue();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   105
          jarray.add(value);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   106
    label_2:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   107
    while (true) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   108
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   109
      case 19:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   110
        ;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   111
        break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   112
      default:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   113
        jj_la1[4] = jj_gen;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   114
        break label_2;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   115
      }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   116
      jj_consume_token(19);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   117
      value = jsonValue();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   118
              jarray.add(value);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   119
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   120
    jj_consume_token(22);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   121
      {if (true) return jarray;}
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   122
    throw new Error("Missing return statement in function");
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   123
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   124
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   125
  final public JSONPrimitive nullVal() throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   126
    jj_consume_token(NULL);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   127
      {if (true) return null;}
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   128
    throw new Error("Missing return statement in function");
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   129
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   130
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   131
  final public JSONPrimitive boolVal() throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   132
    jj_consume_token(BOOL_LITERAL);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   133
     {if (true) return new JSONPrimitive(Boolean.parseBoolean(token.image));}
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   134
    throw new Error("Missing return statement in function");
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   135
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   136
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   137
  final public JSONPrimitive number() throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   138
    Token t;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   139
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   140
    case INTEGER_LITERAL:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   141
      t = jj_consume_token(INTEGER_LITERAL);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   142
                             {if (true) return new JSONPrimitive(Long.parseLong(t.image));}
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   143
      break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   144
    case FLOATING_POINT_LITERAL:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   145
      t = jj_consume_token(FLOATING_POINT_LITERAL);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   146
                                      {if (true) return new JSONPrimitive(Double.parseDouble(t.image));}
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   147
      break;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   148
    default:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   149
      jj_la1[5] = jj_gen;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   150
      jj_consume_token(-1);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   151
      throw new ParseException();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   152
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   153
    throw new Error("Missing return statement in function");
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   154
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   155
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   156
  final public JSONPrimitive string() throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   157
    Token t;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   158
    t = jj_consume_token(QUOTED_STRING);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   159
      {if (true) return new JSONPrimitive(t.image.substring(1,t.image.length()-1));}
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   160
    throw new Error("Missing return statement in function");
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   161
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   162
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   163
  final public JSONPrimitive identifier() throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   164
    jj_consume_token(IDENTIFIER);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   165
      {if (true) return new JSONPrimitive(token.image);}
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   166
    throw new Error("Missing return statement in function");
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   167
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   168
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   169
  /** Generated Token Manager. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   170
  public JSONParserTokenManager token_source;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   171
  JavaCharStream jj_input_stream;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   172
  /** Current token. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   173
  public Token token;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   174
  /** Next token. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   175
  public Token jj_nt;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   176
  private int jj_ntk;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   177
  private int jj_gen;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   178
  final private int[] jj_la1 = new int[6];
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   179
  static private int[] jj_la1_0;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   180
  static {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   181
      jj_la1_init_0();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   182
   }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   183
   private static void jj_la1_init_0() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   184
      jj_la1_0 = new int[] {0x22e180,0x12000,0x80000,0x12000,0x80000,0x180,};
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   185
   }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   186
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   187
  /** Constructor with InputStream. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   188
  public JSONParser(java.io.InputStream stream) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   189
     this(stream, null);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   190
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   191
  /** Constructor with InputStream and supplied encoding */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   192
  public JSONParser(java.io.InputStream stream, String encoding) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   193
    try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   194
    token_source = new JSONParserTokenManager(jj_input_stream);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   195
    token = new Token();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   196
    jj_ntk = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   197
    jj_gen = 0;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   198
    for (int i = 0; i < 6; i++) jj_la1[i] = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   199
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   200
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   201
  /** Reinitialise. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   202
  public void ReInit(java.io.InputStream stream) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   203
     ReInit(stream, null);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   204
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   205
  /** Reinitialise. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   206
  public void ReInit(java.io.InputStream stream, String encoding) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   207
    try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   208
    token_source.ReInit(jj_input_stream);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   209
    token = new Token();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   210
    jj_ntk = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   211
    jj_gen = 0;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   212
    for (int i = 0; i < 6; i++) jj_la1[i] = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   213
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   214
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   215
  /** Constructor. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   216
  public JSONParser(java.io.Reader stream) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   217
    jj_input_stream = new JavaCharStream(stream, 1, 1);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   218
    token_source = new JSONParserTokenManager(jj_input_stream);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   219
    token = new Token();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   220
    jj_ntk = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   221
    jj_gen = 0;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   222
    for (int i = 0; i < 6; i++) jj_la1[i] = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   223
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   224
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   225
  /** Reinitialise. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   226
  public void ReInit(java.io.Reader stream) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   227
    jj_input_stream.ReInit(stream, 1, 1);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   228
    token_source.ReInit(jj_input_stream);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   229
    token = new Token();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   230
    jj_ntk = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   231
    jj_gen = 0;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   232
    for (int i = 0; i < 6; i++) jj_la1[i] = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   233
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   234
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   235
  /** Constructor with generated Token Manager. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   236
  public JSONParser(JSONParserTokenManager tm) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   237
    token_source = tm;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   238
    token = new Token();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   239
    jj_ntk = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   240
    jj_gen = 0;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   241
    for (int i = 0; i < 6; i++) jj_la1[i] = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   242
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   243
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   244
  /** Reinitialise. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   245
  public void ReInit(JSONParserTokenManager tm) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   246
    token_source = tm;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   247
    token = new Token();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   248
    jj_ntk = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   249
    jj_gen = 0;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   250
    for (int i = 0; i < 6; i++) jj_la1[i] = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   251
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   252
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   253
  private Token jj_consume_token(int kind) throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   254
    Token oldToken;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   255
    if ((oldToken = token).next != null) token = token.next;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   256
    else token = token.next = token_source.getNextToken();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   257
    jj_ntk = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   258
    if (token.kind == kind) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   259
      jj_gen++;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   260
      return token;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   261
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   262
    token = oldToken;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   263
    jj_kind = kind;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   264
    throw generateParseException();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   265
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   266
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   267
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   268
/** Get the next Token. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   269
  final public Token getNextToken() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   270
    if (token.next != null) token = token.next;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   271
    else token = token.next = token_source.getNextToken();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   272
    jj_ntk = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   273
    jj_gen++;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   274
    return token;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   275
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   276
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   277
/** Get the specific Token. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   278
  final public Token getToken(int index) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   279
    Token t = token;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   280
    for (int i = 0; i < index; i++) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   281
      if (t.next != null) t = t.next;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   282
      else t = t.next = token_source.getNextToken();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   283
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   284
    return t;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   285
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   286
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   287
  private int jj_ntk() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   288
    if ((jj_nt=token.next) == null)
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   289
      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   290
    else
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   291
      return (jj_ntk = jj_nt.kind);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   292
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   293
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   294
  private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   295
  private int[] jj_expentry;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   296
  private int jj_kind = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   297
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   298
  /** Generate ParseException. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   299
  public ParseException generateParseException() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   300
    jj_expentries.clear();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   301
    boolean[] la1tokens = new boolean[23];
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   302
    if (jj_kind >= 0) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   303
      la1tokens[jj_kind] = true;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   304
      jj_kind = -1;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   305
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   306
    for (int i = 0; i < 6; i++) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   307
      if (jj_la1[i] == jj_gen) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   308
        for (int j = 0; j < 32; j++) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   309
          if ((jj_la1_0[i] & (1<<j)) != 0) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   310
            la1tokens[j] = true;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   311
          }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   312
        }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   313
      }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   314
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   315
    for (int i = 0; i < 23; i++) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   316
      if (la1tokens[i]) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   317
        jj_expentry = new int[1];
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   318
        jj_expentry[0] = i;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   319
        jj_expentries.add(jj_expentry);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   320
      }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   321
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   322
    int[][] exptokseq = new int[jj_expentries.size()][];
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   323
    for (int i = 0; i < jj_expentries.size(); i++) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   324
      exptokseq[i] = jj_expentries.get(i);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   325
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   326
    return new ParseException(token, exptokseq, tokenImage);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   327
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   328
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   329
  /** Enable tracing. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   330
  final public void enable_tracing() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   331
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   332
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   333
  /** Disable tracing. */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   334
  final public void disable_tracing() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   335
  }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   336
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
   337
}