@Override public NumberType getNumberType() throws IOException, JsonParseException { return delegate.getNumberType(); }
protected final boolean _parseBooleanFromNumber(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { if (jp.getNumberType() == NumberType.LONG) { return (jp.getLongValue() == 0L) ? Boolean.FALSE : Boolean.TRUE; } // no really good logic; let's actually resort to textual comparison String str = jp.getText(); if ("0.0".equals(str) || "0".equals(str)) { return Boolean.FALSE; } return Boolean.TRUE; }
@Override public NumberType numberType() { try { return convertNumberType(parser.getNumberType()); } catch (IOException ex) { throw new EsHadoopSerializationException(ex); } }
switch (jp.getNumberType()) { case INT: case LONG:
if (jp.getNumberType() == NumberType.INT) { return (jp.getIntValue() != 0);
if (jp.getNumberType() == NumberType.INT) { return (jp.getIntValue() == 0) ? Boolean.FALSE : Boolean.TRUE;
@Override public NumberType getNumberType() throws IOException, JsonParseException { return parser.getNumberType(); }
@Override public NumberType getNumberType() throws IOException, JsonParseException { return delegate.getNumberType(); }
/** * Method called to deserialize POJO value from a JSON floating-point * number. * * @since 1.9 */ public Object deserializeFromDouble(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { switch (jp.getNumberType()) { case FLOAT: // no separate methods for taking float... case DOUBLE: if (_delegateDeserializer != null) { if (!_valueInstantiator.canCreateFromDouble()) { Object bean = _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt)); if (_injectables != null) { injectValues(ctxt, bean); } return bean; } } return _valueInstantiator.createFromDouble(jp.getDoubleValue()); } // actually, could also be BigDecimal, so: if (_delegateDeserializer != null) { return _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt)); } throw ctxt.instantiationException(getBeanClass(), "no suitable creator method found to deserialize from JSON floating-point number"); }
JsonParser.NumberType nt = jp.getNumberType(); if (nt == JsonParser.NumberType.BIG_INTEGER || ctxt.isEnabled(DeserializationConfig.Feature.USE_BIG_INTEGER_FOR_INTS)) { JsonParser.NumberType nt = jp.getNumberType(); if (nt == JsonParser.NumberType.BIG_DECIMAL || ctxt.isEnabled(DeserializationConfig.Feature.USE_BIG_DECIMAL_FOR_FLOATS)) {
switch (jp.getNumberType()) { case INT: writeNumber(jp.getIntValue()); switch (jp.getNumberType()) { case BIG_DECIMAL: writeNumber(jp.getDecimalValue());
public Object deserializeFromNumber(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException switch (jp.getNumberType()) { case INT: if (_delegateDeserializer != null) {
protected final boolean _parseBooleanFromNumber(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { if (jp.getNumberType() == NumberType.LONG) { return (jp.getLongValue() == 0L) ? Boolean.FALSE : Boolean.TRUE; } // no really good logic; let's actually resort to textual comparison String str = jp.getText(); if ("0.0".equals(str) || "0".equals(str)) { return Boolean.FALSE; } return Boolean.TRUE; }
switch (jp.getNumberType()) { case INT: writeNumber(jp.getIntValue()); switch (jp.getNumberType()) { case BIG_DECIMAL: writeNumber(jp.getDecimalValue());
switch (jp.getNumberType()) { case INT: case LONG:
if (jp.getNumberType() == NumberType.INT) { return (jp.getIntValue() != 0);
if (jp.getNumberType() == NumberType.INT) { return (jp.getIntValue() == 0) ? Boolean.FALSE : Boolean.TRUE;
/** * Method called to deserialize POJO value from a JSON floating-point * number. * * @since 1.9 */ public Object deserializeFromDouble(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { switch (jp.getNumberType()) { case FLOAT: // no separate methods for taking float... case DOUBLE: if (_delegateDeserializer != null) { if (!_valueInstantiator.canCreateFromDouble()) { Object bean = _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt)); if (_injectables != null) { injectValues(ctxt, bean); } return bean; } } return _valueInstantiator.createFromDouble(jp.getDoubleValue()); } // actually, could also be BigDecimal, so: if (_delegateDeserializer != null) { return _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt)); } throw ctxt.instantiationException(getBeanClass(), "no suitable creator method found to deserialize from JSON floating-point number"); }
switch (jp.getNumberType()) { case INT: writeNumber(jp.getIntValue()); switch (jp.getNumberType()) { case BIG_DECIMAL: writeNumber(jp.getDecimalValue());
public Object deserializeFromNumber(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException switch (jp.getNumberType()) { case INT: if (_delegateDeserializer != null) {