protected void readUntilEvent(JSONParser parser, final int event) throws IOException { int evt = parser.lastEvent(); while (true) { if (evt == event || evt == JSONParser.EOF) { return; } evt = parser.nextEvent(); } }
protected void readCoordListXYZ(JSONParser parser, ShapeFactory.PointsBuilder pointsBuilder) throws IOException, ParseException { assert (parser.lastEvent() == JSONParser.ARRAY_START); int evt = parser.nextEvent(); while (evt != JSONParser.EOF) { switch (evt) { case JSONParser.ARRAY_START: readCoordXYZ(parser, pointsBuilder); // reads until ARRAY_END break; case JSONParser.ARRAY_END: return; default: throw new ParseException("Unexpected " + JSONParser.getEventString(evt), (int) parser.getPosition()); } evt = parser.nextEvent(); } }
int evt = parser.nextEvent(); while (evt != JSONParser.EOF) { switch (evt) { } else if ("geometries".equals(key)) { List<Shape> shapes = new ArrayList<Shape>(); int sub = parser.nextEvent(); while (sub != JSONParser.EOF) { if (sub == JSONParser.OBJECT_START) { break; sub = parser.nextEvent(); (int) parser.getPosition()); evt = parser.nextEvent();
protected ShapeFactory.PolygonBuilder readPolygon(JSONParser parser, ShapeFactory.PolygonBuilder polygonBuilder) throws IOException, ParseException { assert (parser.lastEvent() == JSONParser.ARRAY_START); boolean firstRing = true; int evt = parser.nextEvent(); while (true) { switch (evt) { case JSONParser.ARRAY_START: if (firstRing) { readCoordListXYZ(parser, polygonBuilder); firstRing = false; } else { ShapeFactory.PolygonBuilder.HoleBuilder holeBuilder = polygonBuilder.hole(); readCoordListXYZ(parser, holeBuilder); holeBuilder.endHole(); } break; case JSONParser.ARRAY_END: return polygonBuilder; default: throw new ParseException("Unexpected " + JSONParser.getEventString(evt), (int) parser.getPosition()); } evt = parser.nextEvent(); } }
protected Shape readMultiLineString(JSONParser parser) throws IOException, ParseException { assert (parser.lastEvent() == JSONParser.ARRAY_START); // TODO need Spatial4j LineString interface ShapeFactory.MultiLineStringBuilder builder = shapeFactory.multiLineString(); int evt = parser.nextEvent(); while (true) { switch (evt) { case JSONParser.ARRAY_START: ShapeFactory.LineStringBuilder lineStringBuilder = builder.lineString(); readCoordListXYZ(parser, lineStringBuilder); builder.add(lineStringBuilder); break; case JSONParser.ARRAY_END: return builder.build(); default: throw new ParseException("Unexpected " + JSONParser.getEventString(evt), (int) parser.getPosition()); } evt = parser.nextEvent(); } }
protected Shape readMultiPolygon(JSONParser parser) throws IOException, ParseException { assert (parser.lastEvent() == JSONParser.ARRAY_START); // TODO need Spatial4j Polygon interface ShapeFactory.MultiPolygonBuilder builder = shapeFactory.multiPolygon(); int evt = parser.nextEvent(); while (true) { switch (evt) { case JSONParser.ARRAY_START: ShapeFactory.PolygonBuilder polygonBuilder = readPolygon(parser, builder.polygon()); builder.add(polygonBuilder); break; case JSONParser.ARRAY_END: return builder.build(); default: throw new ParseException("Unexpected " + JSONParser.getEventString(evt), (int) parser.getPosition()); } evt = parser.nextEvent(); } } }
break; evt = parser.nextEvent(); if(parser.wasKey()) { key = parser.getString();
public static void consumeTillMatchingEnd(JSONParser parser, int obj, int arr) throws IOException { for (; ; ) { int event = parser.nextEvent(); if (event == OBJECT_START) obj++; if (event == OBJECT_END) obj--; assert obj >= 0; if (event == ARRAY_START) arr++; if (event == ARRAY_END) arr--; assert arr >= 0; if (obj == 0 && arr == 0) break; } }
public static void consumeTillMatchingEnd(JSONParser parser, int obj, int arr) throws IOException { for (; ; ) { int event = parser.nextEvent(); if (event == OBJECT_START) obj++; if (event == OBJECT_END) obj--; assert obj >= 0; if (event == ARRAY_START) arr++; if (event == ARRAY_END) arr--; assert arr >= 0; if (obj == 0 && arr == 0) break; } }
protected void readUntilEvent(JSONParser parser, final int event) throws IOException { int evt = parser.lastEvent(); while (true) { if (evt == event || evt == JSONParser.EOF) { return; } evt = parser.nextEvent(); } }
public static List<Object> parseArrayFieldValue(int ev, JSONParser parser, MethodFrameWrapper runnable) throws IOException { assert ev == ARRAY_START; ArrayList lst = new ArrayList(2); for (; ; ) { ev = parser.nextEvent(); if (ev == ARRAY_END) { if (lst.isEmpty()) return null; return lst; } Object val = parseSingleFieldValue(ev, parser, runnable); if (val != null) lst.add(val); } }
private void expect(int parserEventType) throws IOException { int event = parser.nextEvent(); if (event != parserEventType) { throw new IOException("JSONTupleStream: expected " + JSONParser.getEventString(parserEventType) + " but got " + JSONParser.getEventString(event) ); } }
private void expect(int parserEventType) throws IOException { int event = parser.nextEvent(); if (event != parserEventType) { throw new IOException("JSONTupleStream: expected " + JSONParser.getEventString(parserEventType) + " but got " + JSONParser.getEventString(event) ); } }
/** Reads a JSON numeric value into the output. */ public void getNumberChars(CharArr output) throws IOException { int ev=0; if (valstate==0) ev=nextEvent(); if (valstate == LONG || valstate == NUMBER) output.write(this.out); else if (valstate==BIGNUMBER) { continueNumber(output); } else { throw err("Unexpected " + ev); } valstate=0; }
/** Reads a JSON numeric value into the output. */ public void getNumberChars(CharArr output) throws IOException { int ev=0; if (valstate==0) ev=nextEvent(); if (valstate == LONG || valstate == NUMBER) output.write(this.out); else if (valstate==BIGNUMBER) { continueNumber(output); } else { throw err("Unexpected " + ev); } valstate=0; }
public Object getArray() throws IOException { Object arr = newArray(); for(;;) { int ev = parser.nextEvent(); if (ev==JSONParser.ARRAY_END) return endArray(arr); Object val = getVal(); addArrayVal(arr, val); } }
public Object getArray() throws IOException { Object arr = newArray(); for(;;) { int ev = parser.nextEvent(); if (ev==JSONParser.ARRAY_END) return endArray(arr); Object val = getVal(); addArrayVal(arr, val); } }