@Override public void write(final Object instance, final Object value) { Map<String, Object> nested = null; for (final String path : paths) { nested = Map.class.cast(nested == null ? value : nested.get(path)); if (nested == null) { return; } } for (final Map.Entry<String, Setter> setter : writers.entrySet()) { final Setter setterValue = setter.getValue(); final String key = setter.getKey(); final Object rawValue = nested.get(key); Object val = value == null || setterValue.converter == null ? rawValue : Converter.class.cast(setterValue.converter).toString(rawValue); if (val == null) { continue; } if (setterValue.array && Collection.class.isInstance(val)) { final Collection<?> collection = Collection.class.cast(val); final Object[] array = (Object[]) Array.newInstance(componentTypes.get(key), collection.size()); val = collection.toArray(array); } final AccessMode.Writer setterMethod = setterValue.writer; setterMethod.write(instance, val); } }
@Override public void write(final Object instance, final Object value) { Map<String, Object> nested = null; for (final String path : paths) { nested = Map.class.cast(nested == null ? value : nested.get(path)); if (nested == null) { return; } } for (final Map.Entry<String, Setter> setter : writers.entrySet()) { final Setter setterValue = setter.getValue(); final String key = setter.getKey(); final Object rawValue = nested.get(key); Object val = value == null || setterValue.converter == null ? rawValue : Converter.class.cast(setterValue.converter).toString(rawValue); if (val == null) { continue; } if (setterValue.array && Collection.class.isInstance(val)) { final Collection<?> collection = Collection.class.cast(val); final Object[] array = (Object[]) Array.newInstance(componentTypes.get(key), collection.size()); val = collection.toArray(array); } final AccessMode.Writer setterMethod = setterValue.writer; setterMethod.write(instance, val); } }
final Mappings.Setter value = setter.getValue(); if (JsonValue.class == value.paramType) { setter.getValue().writer.write(t, jsonValue); continue; setterMethod.write(t, null); } else { Object existingInstance = null; new JsonPointerTracker(jsonPointer, setter.getKey()), inType); if (convertedValue != null) { setterMethod.write(t, convertedValue);
final Mappings.Setter value = setter.getValue(); if (JsonValue.class == value.paramType) { setter.getValue().writer.write(t, jsonValue); continue; setterMethod.write(t, null); } else { Object existingInstance = null; new JsonPointerTracker(jsonPointer, setter.getKey()), inType); if (convertedValue != null) { setterMethod.write(t, convertedValue);
if (isOptional(initialWriter)) { type = ParameterizedType.class.cast(initialWriter.getType()).getActualTypeArguments()[0]; writer = (i, val) -> finalWriter.write(i, Optional.ofNullable(val)); } else if (OptionalInt.class == initialWriter.getType()) { type = int.class; writer = (i, val) -> finalWriter.write(i, OptionalInt.of(Number.class.cast(val).intValue())); } else if (OptionalLong.class == initialWriter.getType()) { type = long.class; writer = (i, val) -> finalWriter.write(i, OptionalLong.of(Number.class.cast(val).longValue())); } else if (OptionalDouble.class == initialWriter.getType()) { type = double.class; writer = (i, val) -> finalWriter.write(i, OptionalDouble.of(Number.class.cast(val).doubleValue())); } else { type = initialWriter.getType();
if (isOptional(initialWriter)) { type = ParameterizedType.class.cast(initialWriter.getType()).getActualTypeArguments()[0]; writer = (i, val) -> finalWriter.write(i, Optional.ofNullable(val)); } else if (OptionalInt.class == initialWriter.getType()) { type = int.class; writer = (i, val) -> finalWriter.write(i, OptionalInt.of(Number.class.cast(val).intValue())); } else if (OptionalLong.class == initialWriter.getType()) { type = long.class; writer = (i, val) -> finalWriter.write(i, OptionalLong.of(Number.class.cast(val).longValue())); } else if (OptionalDouble.class == initialWriter.getType()) { type = double.class; writer = (i, val) -> finalWriter.write(i, OptionalDouble.of(Number.class.cast(val).doubleValue())); } else { type = initialWriter.getType();
@Override public void write(final Object instance, final Object value) { type1.write(instance, value); }
@Override public void write(final Object instance, final Object value) { type1.write(instance, value); }
@Override public void write(final Object instance, final Object value) { for (final AccessMode.Writer w : delegates) { w.write(instance, value); } }
@Override public void write(final Object instance, final Object value) { for (final AccessMode.Writer w : delegates) { w.write(instance, value); } }