@Override public void convert(final Decimal128 value, final StrictJsonWriter writer) { writer.writeRaw(format("NumberDecimal(\"%s\")", value.toString())); } }
@Override public void write(JsonWriter out, Decimal128 value) throws IOException { if (value == null) { out.nullValue(); } else if (out instanceof BsonWriter) { ((BsonWriter) out).unwrap().writeDecimal128(value); } else { out.value(value.toString()); } }
@Override public void convert(final Decimal128 value, final StrictJsonWriter writer) { writer.writeStartObject(); writer.writeName("$numberDecimal"); writer.writeString(value.toString()); writer.writeEndObject(); } }
/** * Gson library reads numbers lazily when using generic * {@link com.google.gson.internal.bind.TypeAdapters#JSON_ELEMENT} type adapter. * Number is read as string and then wrapped inside {@link LazilyParsedNumber}. This inefficiency * should only occur if reading numbers with generic JSON element API * and not using generated type adapters. * @see LazilyParsedNumber * @see com.google.gson.internal.bind.TypeAdapters#JSON_ELEMENT */ private String scalarToString() { switch (delegate.getCurrentBsonType()) { case STRING: return delegate.readString(); case SYMBOL: return delegate.readSymbol(); case INT32: return Integer.toString(delegate.readInt32()); case INT64: return Long.toString(delegate.readInt64()); case DOUBLE: return Double.toString(delegate.readDouble()); case DECIMAL128: return delegate.readDecimal128().toString(); default: throw new IllegalStateException( "Unknown scalar type to be converted to string: " + delegate.getCurrentBsonType()); } }
colValue = keyvalueforStruct.getValue().asDecimal128().getValue().toString(); break; list.add(temp); } else if (arrValue.getBsonType() == BsonType.DECIMAL128 && valueType == BsonType.DECIMAL128) { String temp = arrValue.asDecimal128().getValue().toString(); list.add(temp); } else if (arrValue.getBsonType() == BsonType.TIMESTAMP && valueType == BsonType.TIMESTAMP) {
@Override public String decode(BsonReader reader, DecoderContext decoderContext) { return reader.readDecimal128().toString(); }
@Override public void write(JsonWriter out, Decimal128 value) throws IOException { if (value == null) { out.nullValue(); } else if (out instanceof BsonWriter) { ((BsonWriter) out).unwrap().writeDecimal128(value); } else { out.value(value.toString()); } }
/** * Gson library reads numbers lazily when using generic * {@link com.google.gson.internal.bind.TypeAdapters#JSON_ELEMENT} type adapter. * Number is read as string and then wrapped inside {@link LazilyParsedNumber}. This inefficiency * should only occur if reading numbers with generic JSON element API * and not using generated type adapters. * @see LazilyParsedNumber * @see com.google.gson.internal.bind.TypeAdapters#JSON_ELEMENT */ private String scalarToString() { switch (delegate.getCurrentBsonType()) { case STRING: return delegate.readString(); case SYMBOL: return delegate.readSymbol(); case INT32: return Integer.toString(delegate.readInt32()); case INT64: return Long.toString(delegate.readInt64()); case DOUBLE: return Double.toString(delegate.readDouble()); case DECIMAL128: return delegate.readDecimal128().toString(); default: throw new IllegalStateException( "Unknown scalar type to be converted to string: " + delegate.getCurrentBsonType()); } }