private String currentTextField(final JsonParser parser) throws ParserException { try { return parser.getText(); } catch (final Throwable t) { return (String)handleException(t, parser); } }
private boolean testToken(final JsonParser parser, final JsonToken expected) throws ParserException { try { final JsonToken t = parser.nextToken(); return t == expected; } catch (final Throwable t) { return (Boolean)handleException(t, parser); } }
private boolean testCurrentToken(final JsonParser parser, final JsonToken expected) throws ParserException { try { final JsonToken t = parser.getCurrentToken(); return t == expected; } catch (final Throwable t) { handleException(t, parser); return false; } }
private void throwException(final String msg, final JsonParser parser) throws ParserException { final StringBuilder augmented = new StringBuilder(msg); if (lastComponent != null) { augmented.append("; last component="); augmented.append(lastComponent); } if (lastProperty != null) { augmented.append("; last property="); augmented.append(lastProperty); } handleException(new Throwable(augmented.toString()), parser); }
private String textField(final JsonParser parser) throws ParserException { expectToken(parser, JsonToken.VALUE_STRING, "Expected string field"); try { return parser.getText(); } catch (final Throwable t) { return (String)handleException(t, parser); } }
private String currentFieldName(final JsonParser parser) throws ParserException { expectCurrentToken(parser, JsonToken.FIELD_NAME, "Expected field name"); try { return parser.getText(); } catch (Throwable t) { return (String)handleException(t, parser); } }
private int currentIntField(final JsonParser parser) throws ParserException { try { return parser.getIntValue(); } catch (final Throwable t) { return (Integer)handleException(t, parser); } }
private boolean booleanField(final JsonParser parser) throws ParserException { try { if (parser.getCurrentToken() == JsonToken.VALUE_FALSE) { return false; } if (parser.getCurrentToken() == JsonToken.VALUE_TRUE) { return true; } throwException("expected boolean constant", parser); return false; } catch (Throwable t) { return (Boolean)handleException(t, parser); } }
private void expectToken(final JsonParser parser, final JsonToken expected, final String message) throws ParserException { try { final JsonToken t = parser.nextToken(); if (t != expected) { throwException(message, parser); } } catch (final ParserException pe) { throw pe; } catch (final Throwable t) { handleException(t, parser); } }
private void expectCurrentToken(final JsonParser parser, final JsonToken expected, final String message) throws ParserException { try { final JsonToken t = parser.getCurrentToken(); if (t != expected) { throwException(message, parser); } } catch (final ParserException pe) { throw pe; } catch (final Throwable t) { handleException(t, parser); } }
private float floatField(final JsonParser parser) throws ParserException { expectToken(parser, JsonToken.VALUE_NUMBER_FLOAT, "Expected float field"); try { return parser.getFloatValue(); } catch (Throwable t) { return (Float)handleException(t, parser); } }
private int intField(final JsonParser parser) throws ParserException { expectToken(parser, JsonToken.VALUE_NUMBER_INT, "Expected integer field"); try { return parser.getIntValue(); } catch (Throwable t) { return (Integer)handleException(t, parser); } }
private void processParameter(final JsonParser parser, final BuildState bs) throws ParserException { try { bs.getContentHandler().parameter(currentFieldName(parser), textField(parser)); } catch (Throwable t) { handleException(t, parser); } }
private void process(final JsonParser parser, final BuildState bs) throws ParserException { /* ["vcalendar", [ <properties> ], [ <components> ] ] */ try { arrayStart(parser); final String ctype = textField(parser); if (!ctype.equals("vcalendar")) { // error throwException("Expected vcalendar: found " + ctype, parser); } lastComponent = "vcalendar"; bs.setCalendar(null); processVcalendar(parser, bs); if (bs.getCalendar() != null) { bs.getCalendars().add(bs.getCalendar()); } arrayEnd(parser); } catch (final Throwable t) { handleException(t, parser); } }