private Object getValue(ValueNode value) { if (value.isNull()) { return null; } if (value.numberType() != null) { switch (value.numberType()) { case LONG: return value.longValue(); case DOUBLE: return value.doubleValue(); case FLOAT: return value.floatValue(); case INT: return value.intValue(); case BIG_DECIMAL: return value.decimalValue(); case BIG_INTEGER: return value.bigIntegerValue(); default: return value.asText(); } } if (value.isBoolean()) { return value.asBoolean(); } return value.asText(); }
@Override public Object asValue(JsonNode value) { if (value == null) { return null; } else if (value instanceof NullNode) { return null; } else if (value instanceof BigIntegerNode) { return ((ValueNode) value).bigIntegerValue(); } else if (value instanceof BooleanNode) { return ((ValueNode) value).booleanValue(); } else if (value instanceof DecimalNode) { return ((ValueNode) value).decimalValue(); } else if (value instanceof DoubleNode || value instanceof FloatNode) { return ((ValueNode) value).doubleValue(); } else if (value instanceof IntNode) { return ((ValueNode) value).intValue(); } else if (value instanceof LongNode) { return ((ValueNode) value).longValue(); } else { return ((ValueNode) value).asText(); } }
@Override public Object asValue(JsonNode value) { if (value == null) { return null; } else if (value instanceof NullNode) { return null; } else if (value instanceof BigIntegerNode) { return ((ValueNode) value).bigIntegerValue(); } else if (value instanceof BooleanNode) { return ((ValueNode) value).booleanValue(); } else if (value instanceof DecimalNode) { return ((ValueNode) value).decimalValue(); } else if (value instanceof DoubleNode || value instanceof FloatNode) { return ((ValueNode) value).doubleValue(); } else if (value instanceof IntNode) { return ((ValueNode) value).intValue(); } else if (value instanceof LongNode) { return ((ValueNode) value).longValue(); } else { return ((ValueNode) value).asText(); } }
field.setFieldType(FieldType.DECIMAL); field.setStatus(FieldStatus.SUPPORTED); field.setValue(valueNode.decimalValue()); } else if (valueNode.isShort()) { field.setFieldType(FieldType.SHORT);