this.addSerializer(JsonObject.class, new JsonObjectSerializer()); this.addSerializer(JsonArray.class, new JsonArraySerializer()); this.addSerializer(Uson.class, new BladeSerializer()); this.addSerializer(byte[].class, new ByteArraySerializer()); this.addDeserializer(JsonObject.class, new JsonObjectDeserializer()); this.addDeserializer(JsonArray.class, new JsonArrayDeserializer()); this.addDeserializer(Uson.class, new BladeDeserializer()); this.addDeserializer(Instant.class, InstantDeserializer.INSTANT); this.addDeserializer(OffsetDateTime.class, InstantDeserializer.OFFSET_DATE_TIME); this.addDeserializer(ZonedDateTime.class, InstantDeserializer.ZONED_DATE_TIME); this.addDeserializer(Duration.class, DurationDeserializer.INSTANCE); this.addDeserializer(LocalDateTime.class, new AdjustDateTimeDeserializer()); this.addDeserializer(LocalDate.class, LocalDateDeserializer.INSTANCE); this.addDeserializer(LocalTime.class, LocalTimeDeserializer.INSTANCE); this.addDeserializer(MonthDay.class, MonthDayDeserializer.INSTANCE); this.addDeserializer(OffsetTime.class, OffsetTimeDeserializer.INSTANCE); this.addDeserializer(Period.class, JSR310StringParsableDeserializer.PERIOD); this.addDeserializer(Year.class, YearDeserializer.INSTANCE); this.addDeserializer(YearMonth.class, YearMonthDeserializer.INSTANCE); this.addDeserializer(ZoneId.class, JSR310StringParsableDeserializer.ZONE_ID); this.addDeserializer(ZoneOffset.class, JSR310StringParsableDeserializer.ZONE_OFFSET); this.addSerializer(Duration.class, DurationSerializer.INSTANCE); this.addSerializer(Instant.class, InstantSerializer.INSTANCE); this.addSerializer(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE); this.addSerializer(LocalDate.class, LocalDateSerializer.INSTANCE); this.addSerializer(LocalTime.class, LocalTimeSerializer.INSTANCE);
@Override public ValueInstantiator findValueInstantiator(final DeserializationConfig config, final BeanDescription beanDesc, final ValueInstantiator defaultInstantiator) { final JavaType type = beanDesc.getType(); final Class<?> raw = type.getRawClass(); if (ZoneId.class.isAssignableFrom(raw) && defaultInstantiator instanceof StdValueInstantiator) { final StdValueInstantiator inst = (StdValueInstantiator) defaultInstantiator; final AnnotatedClass ac; if (raw == ZoneId.class) { ac = beanDesc.getClassInfo(); } else { ac = AnnotatedClassResolver.resolve(config, config.constructType(ZoneId.class), config); } if (!inst.canCreateFromString()) { final AnnotatedMethod factory = ZeroModule.this._findFactory(ac, "of", String.class); if (factory != null) { inst.configureFromStringCreator(factory); } } } return defaultInstantiator; } });
@Override public ValueInstantiator findValueInstantiator(final DeserializationConfig config, final BeanDescription beanDesc, final ValueInstantiator defaultInstantiator) { final JavaType type = beanDesc.getType(); final Class<?> raw = type.getRawClass(); if (ZoneId.class.isAssignableFrom(raw) && defaultInstantiator instanceof StdValueInstantiator) { final StdValueInstantiator inst = (StdValueInstantiator) defaultInstantiator; final AnnotatedClass ac; if (raw == ZoneId.class) { ac = beanDesc.getClassInfo(); } else { ac = AnnotatedClassResolver.resolve(config, config.constructType(ZoneId.class), config); } if (!inst.canCreateFromString()) { final AnnotatedMethod factory = ZeroModule.this._findFactory(ac, "of", String.class); if (factory != null) { inst.configureFromStringCreator(factory); } } } return defaultInstantiator; } });
this.addSerializer(JsonObject.class, new JsonObjectSerializer()); this.addSerializer(JsonArray.class, new JsonArraySerializer()); this.addSerializer(Uson.class, new BladeSerializer()); this.addSerializer(byte[].class, new ByteArraySerializer()); this.addDeserializer(JsonObject.class, new JsonObjectDeserializer()); this.addDeserializer(JsonArray.class, new JsonArrayDeserializer()); this.addDeserializer(Uson.class, new BladeDeserializer()); this.addDeserializer(Instant.class, InstantDeserializer.INSTANT); this.addDeserializer(OffsetDateTime.class, InstantDeserializer.OFFSET_DATE_TIME); this.addDeserializer(ZonedDateTime.class, InstantDeserializer.ZONED_DATE_TIME); this.addDeserializer(Duration.class, DurationDeserializer.INSTANCE); this.addDeserializer(LocalDateTime.class, new AdjustDateTimeDeserializer()); this.addDeserializer(LocalDate.class, LocalDateDeserializer.INSTANCE); this.addDeserializer(LocalTime.class, LocalTimeDeserializer.INSTANCE); this.addDeserializer(MonthDay.class, MonthDayDeserializer.INSTANCE); this.addDeserializer(OffsetTime.class, OffsetTimeDeserializer.INSTANCE); this.addDeserializer(Period.class, JSR310StringParsableDeserializer.PERIOD); this.addDeserializer(Year.class, YearDeserializer.INSTANCE); this.addDeserializer(YearMonth.class, YearMonthDeserializer.INSTANCE); this.addDeserializer(ZoneId.class, JSR310StringParsableDeserializer.ZONE_ID); this.addDeserializer(ZoneOffset.class, JSR310StringParsableDeserializer.ZONE_OFFSET); this.addSerializer(Duration.class, DurationSerializer.INSTANCE); this.addSerializer(Instant.class, InstantSerializer.INSTANCE); this.addSerializer(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE); this.addSerializer(LocalDate.class, LocalDateSerializer.INSTANCE); this.addSerializer(LocalTime.class, LocalTimeSerializer.INSTANCE);