protected ConstructorComparator(final Class<?> beanClass) { for (final Constructor<?> c : Reflection.getDeclaredConstructors(beanClass)) { constructors.put(c, Arrays.hashCode(c.getParameterTypes())); } }
@Override public Map<Signature, MetadataBuilder.ForExecutable<Constructor<? extends T>>> getConstructors(Meta<Class<T>> ignored) { final Constructor<? extends T>[] declaredConstructors = Reflection.getDeclaredConstructors(meta.getHost()); if (declaredConstructors.length == 0) { return Collections.emptyMap(); } return Stream.of(declaredConstructors).collect( Collectors.toMap(Signature::of, c -> new ReflectionBuilder.ForExecutable<>(new Meta.ForConstructor<>(c), ParameterNameProvider::getParameterNames))); }
@Override public Map<Signature, MetadataBuilder.ForExecutable<Constructor<? extends T>>> getConstructors(Meta<Class<T>> ignored) { final Constructor<? extends T>[] declaredConstructors = Reflection.getDeclaredConstructors(meta.getHost()); if (declaredConstructors.length == 0) { return Collections.emptyMap(); } return Stream.of(declaredConstructors).collect( Collectors.toMap(Signature::of, c -> new ReflectionBuilder.ForExecutable<>(new Meta.ForConstructor<>(c), ParameterNameProvider::getParameterNames))); }