@Override public JsonSerializer<T> unwrappingSerializer(NameTransformer transformer) { JsonSerializer<Object> valueSer = _valueSerializer; if (valueSer != null) { valueSer = valueSer.unwrappingSerializer(transformer); } NameTransformer unwrapper = (_unwrapper == null) ? transformer : NameTransformer.chainedTransformer(transformer, _unwrapper); if ((_valueSerializer == valueSer) && (_unwrapper == unwrapper)) { return this; } return withResolved(_property, _valueTypeSerializer, valueSer, unwrapper); }
@Override public void assignSerializer(JsonSerializer<Object> ser) { if (ser != null) { NameTransformer t = _nameTransformer; if (ser.isUnwrappingSerializer() // as per [databind#2060], need to also check this, in case someone writes // custom implementation that does not extend standard implementation: && (ser instanceof UnwrappingBeanSerializer)) { t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) ser)._nameTransformer); } ser = ser.unwrappingSerializer(t); } super.assignSerializer(ser); }
@Override public UnwrappingBeanPropertyWriter rename(NameTransformer transformer) { String oldName = _name.getValue(); String newName = transformer.transform(oldName); // important: combine transformers: transformer = NameTransformer.chainedTransformer(transformer, _nameTransformer); return _new(transformer, new SerializedString(newName)); }
@Override protected JsonSerializer<Object> _findAndAddDynamic(PropertySerializerMap map, Class<?> type, SerializerProvider provider) throws JsonMappingException { JsonSerializer<Object> serializer; if (_nonTrivialBaseType != null) { JavaType subtype = provider.constructSpecializedType(_nonTrivialBaseType, type); serializer = provider.findValueSerializer(subtype, this); } else { serializer = provider.findValueSerializer(type, this); } NameTransformer t = _nameTransformer; if (serializer.isUnwrappingSerializer() // as per [databind#2060], need to also check this, in case someone writes // custom implementation that does not extend standard implementation: && (serializer instanceof UnwrappingBeanSerializer)) { t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) serializer)._nameTransformer); } serializer = serializer.unwrappingSerializer(t); _dynamicSerializers = _dynamicSerializers.newWith(type, serializer); return serializer; } }
private Map<String, List<PersistentProperty<?>>> findUnwrappedPropertyPaths(NameTransformer nameTransformer, AnnotatedMember annotatedMember, PersistentProperty<?> persistentProperty) { Map<String, List<PersistentProperty<?>>> mapping = new HashMap<String, List<PersistentProperty<?>>>(); NameTransformer propertyNameTransformer = NameTransformer.chainedTransformer(nameTransformer, ANNOTATION_INTROSPECTOR.findUnwrappingNameTransformer(annotatedMember)); Map<String, List<PersistentProperty<?>>> nestedProperties = findUnwrappedPropertyPaths( annotatedMember.getRawType(), propertyNameTransformer, true); for (Entry<String, List<PersistentProperty<?>>> entry : nestedProperties.entrySet()) { List<PersistentProperty<?>> persistentProperties = new ArrayList<PersistentProperty<?>>(); persistentProperties.add(persistentProperty); persistentProperties.addAll(entry.getValue()); mapping.put(entry.getKey(), persistentProperties); } return mapping; }
private Map<String, List<PersistentProperty<?>>> findUnwrappedPropertyPaths(NameTransformer nameTransformer, AnnotatedMember annotatedMember, PersistentProperty<?> persistentProperty) { Map<String, List<PersistentProperty<?>>> mapping = new HashMap<String, List<PersistentProperty<?>>>(); NameTransformer propertyNameTransformer = NameTransformer.chainedTransformer(nameTransformer, ANNOTATION_INTROSPECTOR.findUnwrappingNameTransformer(annotatedMember)); Map<String, List<PersistentProperty<?>>> nestedProperties = findUnwrappedPropertyPaths( annotatedMember.getRawType(), propertyNameTransformer, true); for (Entry<String, List<PersistentProperty<?>>> entry : nestedProperties.entrySet()) { List<PersistentProperty<?>> persistentProperties = new ArrayList<PersistentProperty<?>>(); persistentProperties.add(persistentProperty); persistentProperties.addAll(entry.getValue()); mapping.put(entry.getKey(), persistentProperties); } return mapping; }
@Override public JsonSerializer<T> unwrappingSerializer(NameTransformer transformer) { JsonSerializer<Object> ser = _valueSerializer; if (ser != null) { ser = ser.unwrappingSerializer(transformer); } NameTransformer unwrapper = (_unwrapper == null) ? transformer : NameTransformer.chainedTransformer(transformer, _unwrapper); return withResolved(_property, _valueTypeSerializer, ser, unwrapper, _contentInclusion); }
@Override public JsonSerializer<Optional<?>> unwrappingSerializer(NameTransformer transformer) { JsonSerializer<Object> ser = _valueSerializer; if (ser != null) { ser = ser.unwrappingSerializer(transformer); } NameTransformer unwrapper = (_unwrapper == null) ? transformer : NameTransformer.chainedTransformer(transformer, _unwrapper); return withResolved(_property, _valueTypeSerializer, ser, unwrapper, _contentInclusion); }
@Override public JsonSerializer<T> unwrappingSerializer(NameTransformer transformer) { JsonSerializer<Object> valueSer = _valueSerializer; if (valueSer != null) { valueSer = valueSer.unwrappingSerializer(transformer); } NameTransformer unwrapper = (_unwrapper == null) ? transformer : NameTransformer.chainedTransformer(transformer, _unwrapper); if ((_valueSerializer == valueSer) && (_unwrapper == unwrapper)) { return this; } return withResolved(_property, _valueTypeSerializer, valueSer, unwrapper); }
@Override public void assignSerializer(JsonSerializer<Object> ser) { super.assignSerializer(ser); if (_serializer != null) { NameTransformer t = _nameTransformer; if (_serializer.isUnwrappingSerializer()) { t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer); } _serializer = _serializer.unwrappingSerializer(t); } }
@Override public void assignSerializer(JsonSerializer<Object> ser) { super.assignSerializer(ser); if (_serializer != null) { NameTransformer t = _nameTransformer; if (_serializer.isUnwrappingSerializer()) { t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer); } _serializer = _serializer.unwrappingSerializer(t); } }
@Override public void assignSerializer(JsonSerializer<Object> ser) { super.assignSerializer(ser); if (_serializer != null) { NameTransformer t = _nameTransformer; if (_serializer.isUnwrappingSerializer()) { t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer); } _serializer = _serializer.unwrappingSerializer(t); } }
@Override public void assignSerializer(JsonSerializer<Object> ser) { super.assignSerializer(ser); if (_serializer != null) { NameTransformer t = _nameTransformer; if (_serializer.isUnwrappingSerializer()) { t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer); } _serializer = _serializer.unwrappingSerializer(t); } }
@Override public void assignSerializer(JsonSerializer<Object> ser) { super.assignSerializer(ser); if (_serializer != null) { NameTransformer t = _nameTransformer; if (_serializer.isUnwrappingSerializer()) { t = NameTransformer.chainedTransformer(t, ((UnwrappingBeanSerializer) _serializer)._nameTransformer); } _serializer = _serializer.unwrappingSerializer(t); } }
@Override public UnwrappingBeanPropertyWriter rename(NameTransformer transformer) { String oldName = _name.getValue(); String newName = transformer.transform(oldName); // important: combine transformers: transformer = NameTransformer.chainedTransformer(transformer, _nameTransformer); return _new(transformer, new SerializedString(newName)); }
@Override public UnwrappingBeanPropertyWriter rename(NameTransformer transformer) { String oldName = _name.getValue(); String newName = transformer.transform(oldName); // important: combine transformers: transformer = NameTransformer.chainedTransformer(transformer, _nameTransformer); return _new(transformer, new SerializedString(newName)); }
@Override public UnwrappingBeanPropertyWriter rename(NameTransformer transformer) { String oldName = _name.getValue(); String newName = transformer.transform(oldName); // important: combine transformers: transformer = NameTransformer.chainedTransformer(transformer, _nameTransformer); return new UnwrappingBeanPropertyWriter(this, transformer, new SerializedString(newName)); }
@Override public UnwrappingBeanPropertyWriter rename(NameTransformer transformer) { String oldName = _name.getValue(); String newName = transformer.transform(oldName); // important: combine transformers: transformer = NameTransformer.chainedTransformer(transformer, _nameTransformer); return new UnwrappingBeanPropertyWriter(this, transformer, new SerializedString(newName)); }
@Override public UnwrappingBeanPropertyWriter rename(NameTransformer transformer) { String oldName = _name.getValue(); String newName = transformer.transform(oldName); // important: combine transformers: transformer = NameTransformer.chainedTransformer(transformer, _nameTransformer); return new UnwrappingBeanPropertyWriter(this, transformer, new SerializedString(newName)); }
@Override public UnwrappingBeanPropertyWriter rename(NameTransformer transformer) { String oldName = _name.getValue(); String newName = transformer.transform(oldName); // important: combine transformers: transformer = NameTransformer.chainedTransformer(transformer, _nameTransformer); return new UnwrappingBeanPropertyWriter(this, transformer, new SerializedString(newName)); }