@SuppressWarnings("unchecked") public static <T extends ReadableInstant> JsonDeserializer<T> forType(Class<T> cls) { return (JsonDeserializer<T>) new DateTimeDeserializer(cls, FormatConfig.DEFAULT_DATETIME_PARSER); }
@Override public JodaDateDeserializerBase<?> withFormat(JacksonJodaDateFormat format) { return new DateTimeDeserializer(_valueClass, format); }
public class DateTimeModule extends SimpleModule { public DateTimeModule() { super(); addSerializer(DateTime.class, new DateTimeSerializer()); addDeserializer(DateTime.class, new DateTimeDeserializer()); } }
@SuppressWarnings("unchecked") public static <T extends ReadableInstant> JsonDeserializer<T> forType(Class<T> cls) { return (JsonDeserializer<T>) new DateTimeDeserializer(cls); }
//package visibility, to allow passing different De/Serializers while testing static ObjectMapper createObjectMapper(JsonDeserializer deserializer, JsonSerializer serializer) { final SimpleModule module = new SimpleModule("customerSerializationModule", new Version(1, 0, 0, "static version")); module.addDeserializer(DateTime.class, deserializer); module.addSerializer(DateTime.class, serializer); final ObjectMapper objectMapper = new ObjectMapper(); objectMapper.registerModule(module); return objectMapper; } //production method: no-args, as in the original version public static ObjectMapper createObjectMapper() { return createObjectMapper(new DateTimeDeserializer(), new DateTimeSerializer()); }
public class JsonMapperFactory { public static ObjectMapper configureObjectMapper(final ObjectMapper mapper, final SimpleModule module) { final SimpleModuleBuilder modulebuilder = new SimpleModuleBuilder(); final SimpleModule configuredModule = modulebuilder.configure(module) .withSerializer(DateTime.class, new DateTimeSerializer()) .withDeserializer(DateTime.class, new DateTimeDeserializer()) .build(); final ObjectMapperBuilder objectMapperBuilder = new ObjectMapperBuilder(); return objectMapperBuilder.configure(mapper).withModule(configuredModule).build(); } }
GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(DateTime.class, new DateTimeSerializer(useDotNetFormat)); builder.registerTypeAdapter(DateTime.class, new DateTimeDeserializer(useDotNetFormat)); handler = builder.create();