com.tvd12.test.reflect.MethodBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of test-util Show documentation
Show all versions of test-util Show documentation
A project support for testing
The newest version!
package com.tvd12.test.reflect;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
public class MethodBuilder {
// method name
private String methodName;
// declaring class of method
private Class> clazz;
// list of arguments
private List> arguments;
public MethodBuilder() {
arguments = new ArrayList<>();
}
// factory method
public static MethodBuilder create() {
return new MethodBuilder();
}
/**
* Set method name
*
* @param name method name
* @return this pointer
*/
public MethodBuilder method(String name) {
this.methodName = name;
return this;
}
/**
* Set declaring class of method
*
* @param clazz class
* @return this pointer
*/
public MethodBuilder clazz(Class> clazz) {
this.clazz = clazz;
return this;
}
/**
* Add argument
*
* @param argument argument
* @return this pointer
*/
public MethodBuilder argument(Class> argument) {
this.arguments.add(argument);
return this;
}
/**
* Build a method
*
* @return a method
*/
public Method build() {
return ReflectMethodUtil.getMethod(
methodName,
clazz,
arguments.toArray(new Class>[arguments.size()]));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy