@Override public Value value() throws IOException { consume(JsonStreamToken.VALUE); switch (reader.peek()) { case BOOLEAN: return reader.nextBoolean() ? TRUE : FALSE; case NULL: reader.nextNull(); return NULL; case NUMBER: String s = reader.nextString(); try { return new Value(s, Long.valueOf(s)); } catch (NumberFormatException e) { return new Value(s, Double.valueOf(s)); } case STRING: return new Value(reader.nextString()); default: throw new IOException("Not a value token: " + peek()); } }
@Override public Value value() throws IOException { poll(JsonStreamToken.VALUE); switch (symbol) { case NULL: return NULL; case STRING: return new Value(scanner.getText()); case TRUE: return TRUE; case FALSE: return FALSE; case NUMBER: if (scanner.getText().indexOf('.') < 0 && scanner.getText().toLowerCase().indexOf('e') < 0) { return new Value(scanner.getText(), new BigInteger(scanner.getText())); } else { return new Value(scanner.getText(), new BigDecimal(scanner.getText())); } default: throw new IOException("Not a value token: " + symbol); } }
@Override public Value value() throws IOException { switch (consume(JsonStreamToken.VALUE)) { case VALUE_STRING: return new Value(parser.getString()); case VALUE_TRUE: return TRUE; case VALUE_FALSE: return FALSE; case VALUE_NUMBER: if (parser.isIntegralNumber()) { return new Value(parser.getString(), Long.valueOf(parser.getLong())); } else { return new Value(parser.getString(), parser.getBigDecimal()); } case VALUE_NULL: return NULL; default: throw new IllegalStateException("Unexpected event"); } }
@Override public Value value() throws IOException { consume(JsonStreamToken.VALUE); switch (reader.peek()) { case BOOLEAN: return reader.nextBoolean() ? TRUE : FALSE; case NULL: reader.nextNull(); return NULL; case NUMBER: String s = reader.nextString(); try { return new Value(s, Long.valueOf(s)); } catch (NumberFormatException e) { return new Value(s, Double.valueOf(s)); } case STRING: return new Value(reader.nextString()); default: throw new IOException("Not a value token: " + peek()); } }
public Value value() throws IOException { poll(JsonStreamToken.VALUE); switch (symbol) { case NULL: return NULL; case STRING: return new Value(scanner.getText()); case TRUE: return TRUE; case FALSE: return FALSE; case NUMBER: if (scanner.getText().indexOf('.') < 0 && scanner.getText().toLowerCase().indexOf('e') < 0) { return new Value(scanner.getText(), new BigInteger(scanner.getText())); } else { return new Value(scanner.getText(), new BigDecimal(scanner.getText())); } default: throw new IOException("Not a value token: " + symbol); } }
@Override public Value value() throws IOException { expect(JsonStreamToken.VALUE).consume(); switch (parser.getCurrentToken()) { case VALUE_STRING: return new Value(parser.getText()); case VALUE_TRUE: case VALUE_FALSE: return parser.getBooleanValue() ? TRUE : FALSE; case VALUE_NUMBER_FLOAT: return new Value(parser.getText(), parser.getDecimalValue()); case VALUE_NUMBER_INT: return new Value(parser.getText(), Long.valueOf(parser.getLongValue())); case VALUE_NULL: return NULL; default: throw new IOException("Not a value token: " + parser.getCurrentToken()); } }
@Override public Value value() throws IOException { if (state == State.ROOT_XMLNS_VALUE) { state = State.DELEGATE; return new Value(root.getNamespaceURI()); } return super.value(); }
@Override public Value value() throws IOException { if (state == State.ROOT_XMLNS_VALUE) { state = State.DELEGATE; return new Value(root.getNamespaceURI()); } return super.value(); }