
net.vidageek.mirror.reflect.DefaultConstructorReflector Maven / Gradle / Ivy
/**
*
*/
package net.vidageek.mirror.reflect;
import java.lang.reflect.Constructor;
import net.vidageek.mirror.provider.ReflectionProvider;
import net.vidageek.mirror.reflect.dsl.ConstructorReflector;
/**
* This class is responsible for reflecting a constructor.
*
* @author jonasabreu
*/
public final class DefaultConstructorReflector implements ConstructorReflector {
private final Class clazz;
private final ReflectionProvider provider;
public DefaultConstructorReflector(final ReflectionProvider provider, final Class clazz) {
if (clazz == null) {
throw new IllegalArgumentException("argument class cannot be null.");
}
this.provider = provider;
this.clazz = clazz;
}
public Constructor withArgs(final Class>... classes) {
if (classes == null) {
throw new IllegalArgumentException("classes cannot be null");
}
return provider.getClassReflectionProvider(clazz).reflectConstructor(classes);
}
public Constructor withoutArgs() {
return withArgs(new Class>[0]);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy