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));
Map<Signature, MethodD> getMethods(BeanD<T> parent) { final Map<Signature, MetadataBuilder.ForExecutable<Method>> methodBuilders = beanBuilder.getMethods(meta); if (methodBuilders.isEmpty()) { return Collections.emptyMap(); } final Map<Signature, MethodD> result = new LinkedHashMap<>(); methodBuilders.forEach((sig, builder) -> { final Method m = Reflection.find(meta.getHost(), t -> Reflection.getDeclaredMethod(t, sig.getName(), sig.getParameterTypes())); final MethodD descriptor = new MethodD(new MetadataReader.ForMethod(new Meta.ForMethod(m), builder), parent); if (DescriptorManager.isConstrained(descriptor)) { result.put(sig, descriptor); } }); return Collections.unmodifiableMap(result); }
Map<Signature, MethodD> getMethods(BeanD<T> parent) { final Map<Signature, MetadataBuilder.ForExecutable<Method>> methodBuilders = beanBuilder.getMethods(meta); if (methodBuilders.isEmpty()) { return Collections.emptyMap(); } final Map<Signature, MethodD> result = new LinkedHashMap<>(); methodBuilders.forEach((sig, builder) -> { final Method m = Reflection.find(meta.getHost(), t -> Reflection.getDeclaredMethod(t, sig.getName(), sig.getParameterTypes())); final MethodD descriptor = new MethodD(new MetadataReader.ForMethod(new Meta.ForMethod(m), builder), parent); if (DescriptorManager.isConstrained(descriptor)) { result.put(sig, descriptor); } }); return Collections.unmodifiableMap(result); }
@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); }); }