public void write(JsonWriter out, T value) throws IOException { if (value == null) { out.nullValue(); } else { out.value(toLowercase(value)); } }
@Override public void write(JsonWriter jsonWriter, File file) throws IOException { if (file == null) { jsonWriter.nullValue(); } else { jsonWriter.value(file.getAbsolutePath()); } }
@Override public void write(JsonWriter out, T value) throws IOException { if (value == null) { out.nullValue(); } else { out.value(normalize(value.toString())); } }
@Override public void write(JsonWriter out, @Nullable ByteString value) throws IOException { if (value == null) { out.nullValue(); } else { out.value(value.base64()); } }
@Override public void write(JsonWriter out, Asset value) throws IOException { if (value == null) { out.nullValue(); } else { out.value(value.getUrn().toString()); } }
@Override public void write(JsonWriter out, Pattern value) throws IOException { if (value == null) { out.nullValue(); } else if (out instanceof BsonWriter) { ((BsonWriter) out).unwrap() .writeRegularExpression(new BsonRegularExpression(value.pattern())); } else { out.value(value.toString()); } }
@Override public void write(JsonWriter out, T value) throws IOException { if (value == null) { out.nullValue(); return; } for (int i = 0; i < subtypes.length; i++) { TypeToken<? extends T> subtype = subtypes[i]; if (subtype.getRawType().isInstance(value)) { // safe unchecked, type is checked at runtime @SuppressWarnings("unchecked") TypeAdapter<Object> typeAdapter = (TypeAdapter<Object>) adapters.get(i); typeAdapter.write(out, value); return; } } gson.toJson(value, value.getClass(), out); }
private <S> void writeObject(S value, JsonWriter out) throws IOException { if (value != null) { JsonObject jsonObject = new JsonObject(); jsonObject.add(OBJECT_TYPE, new JsonPrimitive(value.getClass().getName())); TypeAdapter<S> delegate = (TypeAdapter<S>) this.gson.getDelegateAdapter(this.factory, TypeToken.get(value.getClass())); jsonObject.add(OBJECT_DATA, delegate.toJsonTree(value)); Streams.write(jsonObject, out); } else { out.nullValue(); } }
public static void writeNullSafeArray(JsonWriter writer, Set<String> items) throws IOException { if (items != null) { writer.beginArray(); for (String s : items) { writer.value(s); } writer.endArray(); } else { writer.nullValue(); } }
@SuppressWarnings("unchecked") @Override public void write(JsonWriter out, @Nullable M message) throws IOException { if (message == null) { out.nullValue(); return; } out.beginObject(); for (FieldBinding<M, B> tagBinding : messageAdapter.fieldBindings().values()) { Object value = tagBinding.get(message); if (value == null) { continue; } out.name(tagBinding.name); emitJson(out, value, tagBinding.singleAdapter(), tagBinding.label); } out.endObject(); }
@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()); } }
public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { @Override @SuppressWarnings("unchecked") public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { return (HibernateProxy.class.isAssignableFrom(type.getRawType()) ? (TypeAdapter<T>) new HibernateProxyTypeAdapter((TypeAdapter)gson.getAdapter(TypeToken.get(type.getRawType().getSuperclass()))) : null); } }; private final TypeAdapter<Object> delegate; private HibernateProxyTypeAdapter(TypeAdapter<Object> delegate) { this.delegate = delegate; } @SuppressWarnings({"rawtypes", "unchecked"}) @Override public void write(JsonWriter out, HibernateProxy value) throws IOException { if (value == null) { out.nullValue(); return; } delegate.write(out, ((HibernateProxy) value).getHibernateLazyInitializer() .getImplementation()); }
/** * Encodes an object that can be a : * <ul> * <li>primitive types: String, Number, Boolean</li> * <li>java.util.Date: encoded as datetime (see {@link #valueDateTime(java.util.Date)}</li> * <li>{@code Map<Object, Object>}. Method toString is called for the key.</li> * <li>Iterable</li> * </ul> * * @throws org.sonar.api.utils.text.WriterException on any failure */ public JsonWriter valueObject(@Nullable Object value) { try { if (value == null) { stream.nullValue(); return this; } valueNonNullObject(value); return this; } catch (IllegalArgumentException e) { throw e; } catch (Exception e) { throw rethrow(e); } }
private static final TypeAdapter<Boolean> booleanAsIntAdapter = new TypeAdapter<Boolean>() { @Override public void write(JsonWriter out, Boolean value) throws IOException { if (value == null) { out.nullValue(); } else { out.value(value); } } @Override public Boolean read(JsonReader in) throws IOException { JsonToken peek = in.peek(); switch (peek) { case BOOLEAN: return in.nextBoolean(); case NULL: in.nextNull(); return null; case NUMBER: return in.nextInt() != 0; case STRING: return Boolean.parseBoolean(in.nextString()); default: throw new IllegalStateException("Expected BOOLEAN or NUMBER but was " + peek); } } };
public void write(JsonWriter out, HibernateProxy value) throws IOException { if (value == null) { out.nullValue(); return;
@Override public void write(JsonWriter out, T value) throws IOException { if (value == null) { out.nullValue(); return; } JsonElement tree = serializer.serialize(value, typeToken.getType(), (JsonSerializationContext) ReflectionUtil.readField(gson, "serializationContext")); Streams.write(tree, out); } }
case NULL: reader.nextNull(); writer.nullValue(); break; case END_DOCUMENT:
@Override public void write(JsonWriter out, Number value) throws IOException { if (value == null) { out.nullValue(); return; } float floatValue = value.floatValue(); checkValidFloatingPoint(floatValue); out.value(value); } };
@Override public void write(JsonWriter out, T value) throws IOException { if (serializer == null) { delegate().write(out, value); return; } if (value == null) { out.nullValue(); return; } JsonElement tree = serializer.serialize(value, typeToken.getType(), context); Streams.write(tree, out); }