@Override public NumberType getNumberType() throws IOException { return delegate.getNumberType(); }
@Override public NumberType getNumberType() throws IOException { return delegate.getNumberType(); }
@Override public NumberType getNumberType() throws IOException { return delegate.getNumberType(); }
@SqlNullable @ScalarFunction @SqlType(StandardTypes.BOOLEAN) public static Boolean jsonArrayContains(@SqlType(StandardTypes.JSON) Slice json, @SqlType(StandardTypes.BIGINT) long value) { try (JsonParser parser = createJsonParser(JSON_FACTORY, json)) { if (parser.nextToken() != START_ARRAY) { return null; } while (true) { JsonToken token = parser.nextToken(); if (token == null) { return null; } if (token == END_ARRAY) { return false; } parser.skipChildren(); if ((token == VALUE_NUMBER_INT) && ((parser.getNumberType() == NumberType.INT) || (parser.getNumberType() == NumberType.LONG)) && (parser.getLongValue() == value)) { return true; } } } catch (IOException e) { return null; } }
case ID_NUMBER_INT: NumberType n = p.getNumberType(); if (n == NumberType.INT) { writeNumber(p.getIntValue()); NumberType n = p.getNumberType(); if (n == NumberType.BIG_DECIMAL) { writeNumber(p.getDecimalValue());
protected final JsonNode _fromInt(JsonParser p, DeserializationContext ctxt, JsonNodeFactory nodeFactory) throws IOException { JsonParser.NumberType nt; int feats = ctxt.getDeserializationFeatures(); if ((feats & F_MASK_INT_COERCIONS) != 0) { if (DeserializationFeature.USE_BIG_INTEGER_FOR_INTS.enabledIn(feats)) { nt = JsonParser.NumberType.BIG_INTEGER; } else if (DeserializationFeature.USE_LONG_FOR_INTS.enabledIn(feats)) { nt = JsonParser.NumberType.LONG; } else { nt = p.getNumberType(); } } else { nt = p.getNumberType(); } if (nt == JsonParser.NumberType.INT) { return nodeFactory.numberNode(p.getIntValue()); } if (nt == JsonParser.NumberType.LONG) { return nodeFactory.numberNode(p.getLongValue()); } return nodeFactory.numberNode(p.getBigIntegerValue()); }
switch (p.getNumberType()) { case INT: case LONG:
case ID_NUMBER_INT: NumberType n = p.getNumberType(); if (n == NumberType.INT) { writeNumber(p.getIntValue()); NumberType n = p.getNumberType(); if (n == NumberType.BIG_DECIMAL) { writeNumber(p.getDecimalValue());
protected final JsonNode _fromFloat(JsonParser p, DeserializationContext ctxt, final JsonNodeFactory nodeFactory) throws IOException { JsonParser.NumberType nt = p.getNumberType(); if (nt == JsonParser.NumberType.BIG_DECIMAL) { return nodeFactory.numberNode(p.getDecimalValue()); } if (ctxt.isEnabled(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS)) { // 20-May-2016, tatu: As per [databind#1028], need to be careful // (note: JDK 1.8 would have `Double.isFinite()`) if (p.isNaN()) { return nodeFactory.numberNode(p.getDoubleValue()); } return nodeFactory.numberNode(p.getDecimalValue()); } if (nt == JsonParser.NumberType.FLOAT) { return nodeFactory.numberNode(p.getFloatValue()); } return nodeFactory.numberNode(p.getDoubleValue()); }
switch (p.getNumberType()) { case INT: writeNumber(p.getIntValue()); switch (p.getNumberType()) { case BIG_DECIMAL: writeNumber(p.getDecimalValue());
case VALUE_NUMBER_FLOAT: case VALUE_NUMBER_INT: switch (parser.getNumberType()) { case FLOAT: if (handleFloatNumbersAsText) {
private void setNumberField(JsonParser jp, PdxListHelper pih) throws IOException { NumberType nt = jp.getNumberType();
case VALUE_NUMBER_FLOAT: case VALUE_NUMBER_INT: switch (parser.getNumberType()) { case FLOAT: if (handleFloatNumbersAsText) {
private void setNumberField(JsonParser jp, JSONToPdxMapper pih, String fieldName) throws IOException { NumberType nt = jp.getNumberType();
NumberType t = p.getNumberType();
NumberType nt = p.getNumberType(); if (nt == NumberType.INT) { if (delegateDeser != null) {
private class SmileNumberDeserializer extends NumberDeserializer { @Override public Number deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (JsonTokenId.ID_NUMBER_FLOAT == p.getCurrentTokenId() && NumberType.FLOAT == p.getNumberType()) { return p.getFloatValue(); } return super.deserialize(p, ctxt); } }
protected final JsonNode _fromFloat(JsonParser jp, DeserializationContext ctxt, final JsonNodeFactory nodeFactory) throws IOException { JsonParser.NumberType nt = jp.getNumberType(); if (nt == JsonParser.NumberType.BIG_DECIMAL || ctxt.isEnabled(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS)) { return nodeFactory.numberNode(jp.getDecimalValue()); } return nodeFactory.numberNode(jp.getDoubleValue()); }
protected final JsonNode _fromFloat(JsonParser jp, DeserializationContext ctxt, final JsonNodeFactory nodeFactory) throws IOException { JsonParser.NumberType nt = jp.getNumberType(); if (nt == JsonParser.NumberType.BIG_DECIMAL || ctxt.isEnabled(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS)) { return nodeFactory.numberNode(jp.getDecimalValue()); } return nodeFactory.numberNode(jp.getDoubleValue()); }
protected final JsonNode _fromInt(JsonParser jp, DeserializationContext ctxt, JsonNodeFactory nodeFactory) throws IOException { JsonParser.NumberType nt = jp.getNumberType(); if (nt == JsonParser.NumberType.BIG_INTEGER || ctxt.isEnabled(DeserializationFeature.USE_BIG_INTEGER_FOR_INTS)) { return nodeFactory.numberNode(jp.getBigIntegerValue()); } if (nt == JsonParser.NumberType.INT) { return nodeFactory.numberNode(jp.getIntValue()); } return nodeFactory.numberNode(jp.getLongValue()); }