Class<?> rawType = type.getRawClass(); ValueInstantiator inst; if (rawType == AtomicReference.class) {
@Override public JsonSerializer<?> findReferenceSerializer(SerializationConfig config, ReferenceType refType, BeanDescription beanDesc, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentValueSerializer) { final Class<?> raw = refType.getRawClass(); if (Optional.class.isAssignableFrom(raw)) { boolean staticTyping = (contentTypeSerializer == null) && config.isEnabled(MapperFeature.USE_STATIC_TYPING); return new GuavaOptionalSerializer(refType, staticTyping, contentTypeSerializer, contentValueSerializer); } return null; }
@Override public JsonSerializer<?> findReferenceSerializer(SerializationConfig config, ReferenceType refType, BeanDescription beanDesc, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentValueSerializer) { final Class<?> raw = refType.getRawClass(); if (Optional.class.isAssignableFrom(raw)) { return new GuavaOptionalSerializer(refType, contentTypeSerializer, contentValueSerializer); } return null; }
@Override public JsonDeserializer<?> findReferenceDeserializer(ReferenceType refType, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer) throws JsonMappingException { // 21-Oct-2015, tatu: Unlikely this will really get used (reference types need more // work, simple registration probably not sufficient). But whatever. return (_classMappings == null) ? null : _classMappings.get(new ClassKey(refType.getRawClass())); }
@Override public JsonSerializer<?> findReferenceSerializer(SerializationConfig config, ReferenceType type, BeanDescription beanDesc, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentValueSerializer) { Class<?> raw = type.getRawClass(); if (Lazy.class.isAssignableFrom(raw)) { return new LazySerializer(type); } if (Option.class.isAssignableFrom(raw)) { return new OptionSerializer(type, settings.useOptionInPlainFormat()); } return super.findReferenceSerializer(config, type, beanDesc, contentTypeSerializer, contentValueSerializer); }
@Override public JsonDeserializer<?> findReferenceDeserializer(ReferenceType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer) throws JsonMappingException { Class<?> raw = type.getRawClass(); if (raw == Lazy.class) { return new LazyDeserializer(type); } if (raw == Option.class) { return new OptionDeserializer(type, settings.useOptionInPlainFormat()); } return super.findReferenceDeserializer(type, config, beanDesc, contentTypeDeserializer, contentDeserializer); }
if (AtomicReference.class.isAssignableFrom(type.getRawClass())) { return new AtomicReferenceDeserializer(type, contentTypeDeser, contentDeser);
Class<?> rawType = type.getRawClass(); ValueInstantiator inst; if (rawType == AtomicReference.class) {