@Override public JsonLocation getLocation() { return jsonParser.getLocation(); }
@Override public JsonLocation getLocation() { return jsonParser.getLocation(); }
@Override public JsonLocation getLocation() { return jsonParser.getLocation(); }
public JsonLocation getLocation() { return parser.getLocation(); }
public JsonLocation getLocation() { return parser.getLocation(); }
private void expect(Event expected) { if (this.event != expected) throw new JsonParsingException("Unexpected " + event + ", expected " + expected, parser.getLocation()); }
public void expect(JsonParser.Event expected) { if (this.event != expected) throw new JsonParsingException("Unexpected " + event + ", expected " + expected, parser.getLocation()); }
public void expect(JsonParser.Event expected) { if (this.event != expected) throw new JsonParsingException("Unexpected " + event + ", expected " + expected, parser.getLocation()); }
@Override public int getLineNumber() { return (int)parser.getLocation().getLineNumber(); }
@Override public int getCharacterOffset() { return (int)parser.getLocation().getStreamOffset(); }
@Override public int getColumnNumber() { return (int)parser.getLocation().getColumnNumber(); }
public boolean booleanValue() { switch (next()) { case VALUE_FALSE: return false; case VALUE_TRUE: return true; } throw new JsonParsingException("Unexpected " + event + ", expected VALUE_FALSE or VALUE_TRUE", parser.getLocation()); }
public boolean booleanValue() { switch (next()) { case VALUE_FALSE: return false; case VALUE_TRUE: return true; } throw new JsonParsingException("Unexpected " + event + ", expected VALUE_FALSE or VALUE_TRUE", parser.getLocation()); }
private List<Object> readDataFragments() { ArrayList<Object> list = new ArrayList<>(); next(); expect(Event.START_ARRAY); while (next() != Event.END_ARRAY) { switch (event) { case START_OBJECT: list.add(readDataFragment()); break; case VALUE_NULL: list.add(null); break; default: throw new JsonParsingException("Unexpected " + event, parser.getLocation()); } } return list; }
private List<Object> loadJsonArray(JsonParser parser, Event event) { List<Object> list = new ArrayList<Object>(); if (event != Event.START_ARRAY) { JsonLocation location = parser.getLocation(); throw new IllegalStateException( String.format( "expected JSON parsing event to be START_ARRAY, not %s location(line=%d column=%d offset=%d)", event, location.getLineNumber(), location.getColumnNumber(), location.getStreamOffset())); } event = parser.next(); // consume START_ARRAY while (event != Event.END_ARRAY) { Object obj; obj = loadJsonItem(parser, event); list.add(obj); event = parser.next(); // next array item or END_ARRAY } return list; }
throw new JsonParsingException("Unexpected \"" + getString() + "\", expected \"Alphabetic\" or \"Ideographic\"" + " or \"Phonetic\"", parser.getLocation());
private List<Object> readValues() { ArrayList<Object> list = new ArrayList<>(); next(); expect(Event.START_ARRAY); while (next() != Event.END_ARRAY) { switch (event) { case START_OBJECT: list.add(readItemOrPersonName()); break; case VALUE_STRING: list.add(parser.getString()); break; case VALUE_NUMBER: list.add(parser.getBigDecimal()); break; case VALUE_NULL: list.add(null); break; default: throw new JsonParsingException("Unexpected " + event, parser.getLocation()); } } return list; }
private Map<String, Object> loadJsonObject(JsonParser parser, Event event) { Map<String, Object> map = new LinkedHashMap<String, Object>(); if (event != Event.START_OBJECT) { JsonLocation location = parser.getLocation(); throw new IllegalStateException(String.format( "expected JSON parsing event to be START_OBJECT, not %s, ", "location(line=%d column=%d offset=%d)", event, location.getLineNumber(), location.getColumnNumber(), location.getStreamOffset())); } event = parser.next(); // consume START_OBJECT while (event != Event.END_OBJECT) { if (event == Event.KEY_NAME) { String key; Object value; key = parser.getString(); event = parser.next(); // consume key value = loadJsonItem(parser, event); map.put(key, value); } else { JsonLocation location = parser.getLocation(); throw new IllegalStateException( String.format( "expected JSON parsing event to be KEY_NAME, not %s, location(line=%d column=%d offset=%d)", event, location.getLineNumber(), location.getColumnNumber(), location.getStreamOffset())); } event = parser.next(); // next key or END_OBJECT } return map; }
/** * Get root value event, either for new deserialization process, or deserialization sub-process invoked from * custom user deserializer. */ private JsonParser.Event getRootEvent(JsonParser parser) { if (parser.getLocation().getStreamOffset() == 0) { return parser.next(); } final JsonParser.Event lastEvent = ((JsonbParser) parser).getCurrentLevel().getLastEvent(); return lastEvent == JsonParser.Event.KEY_NAME ? parser.next() : lastEvent; }
private Object readDataFragment() { byte[] bytes = null; String bulkDataURI = null; while (next() == Event.KEY_NAME) { switch (getString()) { case "BulkDataURI": bulkDataURI = valueString(); break; case "InlineBinary": bytes = readInlineBinary(); break; default: throw new JsonParsingException("Unexpected \"" + getString() + "\", expected \"InlineBinary\"" + " or \"BulkDataURI\"", parser.getLocation()); } } expect(Event.END_OBJECT); return bulkDataURI != null && !skipBulkDataURI ? new BulkData(null, bulkDataURI, false) : bytes; }