@Override public Object read(final Object instance) { final Map<String, Object> map = new LinkedHashMap<String, Object>(); for (final AccessMode.Reader reader : delegates) { final Map<String, Object> readerMap = (Map<String, Object>) reader.read(instance); for (final Map.Entry<String, Object> entry : readerMap.entrySet()) { final Object o = map.get(entry.getKey()); if (o == null) { map.put(entry.getKey(), entry.getValue()); } else if (Map.class.isInstance(o)) { // TODO } else { throw new IllegalStateException(entry.getKey() + " is ambiguous"); } } } return map; }
@Override public Object read(final Object instance) { final Map<String, Object> map = new LinkedHashMap<String, Object>(); for (final AccessMode.Reader reader : delegates) { final Map<String, Object> readerMap = (Map<String, Object>) reader.read(instance); for (final Map.Entry<String, Object> entry : readerMap.entrySet()) { final Object o = map.get(entry.getKey()); if (o == null) { map.put(entry.getKey(), entry.getValue()); } else if (Map.class.isInstance(o)) { // TODO } else { throw new IllegalStateException(entry.getKey() + " is ambiguous"); } } } return map; }
@Override public Object read(final Object instance) { final Map<String, Object> map = new LinkedHashMap<String, Object>(template); Map<String, Object> nested = map; for (int i = 1; i < paths.length; i++) { nested = Map.class.cast(nested.get(paths[i])); } for (final Map.Entry<String, Getter> g : getters.entrySet()) { final Mappings.Getter getter = g.getValue(); final Object value = getter.reader.read(instance); final Object val = value == null || getter.converter == null ? value : getter.converter.from(value); if (val == null) { continue; } if (getter.version >= 0 && version >= getter.version) { continue; } nested.put(g.getKey(), val); } return map; }
if (getter != null) { try { existingInstance = getter.reader.read(t); } catch (final RuntimeException re) {
if (getter != null) { try { existingInstance = getter.reader.read(t); } catch (final RuntimeException re) {
if (isOptional(finalReader)) { type = ParameterizedType.class.cast(finalReader.getType()).getActualTypeArguments()[0]; reader = i -> ofNullable(finalReader.read(i)).map(o -> Optional.class.cast(o).orElse(null)).orElse(null); } else if (OptionalInt.class == finalReader.getType()) { type = int.class; reader = i -> OptionalInt.class.cast(finalReader.read(i)).orElse(0); } else if (OptionalLong.class == finalReader.getType()) { type = long.class; reader = i -> OptionalLong.class.cast(finalReader.read(i)).orElse(0); } else if (OptionalDouble.class == finalReader.getType()) { type = double.class; reader = i -> OptionalDouble.class.cast(finalReader.read(i)).orElse(0); } else { type = finalReader.getType();
if (isOptional(finalReader)) { type = ParameterizedType.class.cast(finalReader.getType()).getActualTypeArguments()[0]; reader = i -> ofNullable(finalReader.read(i)).map(o -> Optional.class.cast(o).orElse(null)).orElse(null); } else if (OptionalInt.class == finalReader.getType()) { type = int.class; reader = i -> OptionalInt.class.cast(finalReader.read(i)).orElse(0); } else if (OptionalLong.class == finalReader.getType()) { type = long.class; reader = i -> OptionalLong.class.cast(finalReader.read(i)).orElse(0); } else if (OptionalDouble.class == finalReader.getType()) { type = double.class; reader = i -> OptionalDouble.class.cast(finalReader.read(i)).orElse(0); } else { type = finalReader.getType();
@Override public Object read(final Object instance) { final Map<String, Object> map = new LinkedHashMap<String, Object>(template); Map<String, Object> nested = map; for (int i = 1; i < paths.length; i++) { nested = Map.class.cast(nested.get(paths[i])); } for (final Map.Entry<String, Getter> g : getters.entrySet()) { final Mappings.Getter getter = g.getValue(); final Object value = getter.reader.read(instance); final Object val = value == null || getter.converter == null ? value : getter.converter.from(value); if (val == null) { continue; } if (getter.version >= 0 && version >= getter.version) { continue; } nested.put(g.getKey(), val); } return map; }
@Override public Object read(final Object instance) { return type1.read(instance); }
@Override public Object read(final Object instance) { return type1.read(instance); }