@Override public boolean serialize(final JsonContext jsonContext, final Character value) { jsonContext.writeString(value.toString()); return true; } }
@Override public boolean serialize(final JsonContext jsonContext, final CharSequence value) { jsonContext.writeString(value.toString()); return true; } }
@Override public boolean serialize(final JsonContext jsonContext, final Class type) { jsonContext.writeString(type.getName()); return true; } }
@Override public boolean serialize(final JsonContext jsonContext, final UUID value) { jsonContext.writeString(value.toString()); return false; } }
@Override public boolean serialize(final JsonContext jsonContext, final Enum value) { jsonContext.writeString(value.name()); return true; } }
@Override public boolean serialize(final JsonContext jsonContext, final Double value) { if (value.isNaN()) { jsonContext.writeString("NaN"); return true; } if (value == Double.POSITIVE_INFINITY) { jsonContext.writeString("+Infinity"); return true; } if (value == Double.NEGATIVE_INFINITY) { jsonContext.writeString("-Infinity"); return true; } jsonContext.write(value.toString()); return true; } }
@Override public boolean serialize(final JsonContext jsonContext, final Float value) { if (value.isNaN()) { jsonContext.writeString("NaN"); return true; } if (value == Float.POSITIVE_INFINITY) { jsonContext.writeString("+Infinity"); return true; } if (value == Float.NEGATIVE_INFINITY) { jsonContext.writeString("-Infinity"); return true; } jsonContext.write(value.toString()); return true; } }
@Override public boolean serialize(final JsonContext jsonContext, final LocalDateTime value) { jsonContext.writeString(value.toString()); return true; } }
@Override public boolean serialize(JsonContext jsonContext, Object value) { String name = value.toString() + "***"; jsonContext.writeString(name); return true; } }
@Override public boolean serialize(final JsonContext jsonContext, final JulianDate value) { jsonContext.writeString(value.toLocalDateTime().toString()); return true; } }
@Override public boolean serialize(final JsonContext jsonContext, final File file) { switch (serializationType) { case PATH: jsonContext.writeString(file.getAbsolutePath()); break; case NAME: jsonContext.writeString(file.getName()); break; case CONTENT: { byte[] bytes; try { bytes = FileUtil.readBytes(file); } catch (IOException e) { throw new JsonException("Unable to read files content", e); } String encoded = Base64.encodeToString(bytes); jsonContext.writeString(encoded); } break; default: throw new JsonException("Invalid type"); } return true; } }
@Override public boolean serialize(JsonContext jsonContext, String value) { JsonValueContext jsonValueContext = jsonContext.peekValueContext(); String propertyName = jsonValueContext.getPropertyName(); if (propertyName != null && propertyName.equals("name")) { value = value.toUpperCase(); } jsonContext.writeString(value); return true; } }
@Override public boolean serialize(JsonContext jsonContext, String value) { JsonValueContext jsonValueContext = jsonContext.peekValueContext(); if (jsonValueContext.getIndex() == 1) { value = value.toUpperCase(); } jsonContext.writeString(value); return true; } }
@Override public boolean serialize(JsonContext jsonContext, Long value) { jsonContext.writeString(value.toString()); return true; }