@Override public Map<String, MetadataBuilder.ForContainer<Field>> getFields(Meta<Class<T>> meta) { final Map<String, MetadataBuilder.ForContainer<Field>> fields = delegate.getFields(hierarchyElement); if (fields.isEmpty()) { return fields; } final Map<String, MetadataBuilder.ForContainer<Field>> result = new LinkedHashMap<>(); fields.forEach((k, v) -> { final Field fld = Reflection.getDeclaredField(hierarchyElement.getHost(), k); Exceptions.raiseIf(fld == null, IllegalStateException::new, "delegate builder specified unknown field"); result.put(k, new ContainerDelegate<Field>(v, new Meta.ForField(fld))); }); return result; }
@Override public Map<String, MetadataBuilder.ForContainer<Field>> getFields(Meta<Class<T>> meta) { final Map<String, MetadataBuilder.ForContainer<Field>> fields = delegate.getFields(hierarchyElement); if (fields.isEmpty()) { return fields; } final Map<String, MetadataBuilder.ForContainer<Field>> result = new LinkedHashMap<>(); fields.forEach((k, v) -> { final Field fld = Reflection.getDeclaredField(hierarchyElement.getHost(), k); Exceptions.raiseIf(fld == null, IllegalStateException::new, "delegate builder specified unknown field"); result.put(k, new ContainerDelegate<Field>(v, new Meta.ForField(fld))); }); return result; }
final Field fld = Reflection.find(meta.getHost(), t -> Reflection.getDeclaredField(t, f)); properties.computeIfAbsent(f, descriptorList).add( new PropertyD.ForField(new MetadataReader.ForContainer<>(new Meta.ForField(fld), builder), parent));
final Field fld = Reflection.find(meta.getHost(), t -> Reflection.getDeclaredField(t, f)); properties.computeIfAbsent(f, descriptorList).add( new PropertyD.ForField(new MetadataReader.ForContainer<>(new Meta.ForField(fld), builder), parent));
@Override public Map<String, MetadataBuilder.ForContainer<Field>> getFields(Meta<Class<T>> meta) { return merge(b -> b.getFields(meta), (f, l) -> { final Field fld = Reflection.find(meta.getHost(), t -> Reflection.getDeclaredField(t, f)); if (fld == null) { Exceptions.raise(IllegalStateException::new, "Could not find field %s of %s", f, meta.getHost()); } return forContainer(l, new Meta.ForField(fld), ElementKind.PROPERTY); }); }
@Override public Map<String, MetadataBuilder.ForContainer<Field>> getFields(Meta<Class<T>> meta) { return merge(b -> b.getFields(meta), (f, l) -> { final Field fld = Reflection.find(meta.getHost(), t -> Reflection.getDeclaredField(t, f)); if (fld == null) { Exceptions.raise(IllegalStateException::new, "Could not find field %s of %s", f, meta.getHost()); } return forContainer(l, new Meta.ForField(fld), ElementKind.PROPERTY); }); }