getAccessableMethod metodu
İmzası şöyle. Üst sınıfları dolaşır.
Belirtilen parametrelere en iyi uyan Method nesnesini döndürür. Sanırım üst sınıfları dolaşır. Ancak Method'un accessable olup olmamasına bakmaz.
invokeExactMethod metodu
İmzası şöyle.
Üçüncü parametre metod imzasındaki parametredir.
Örnek
getter metod için şöyle yaparız.
Şöyle yaparız.
MethodUtils.geMatchingMethod() ile parametrelere uyan metod bulunabilir.
Örnek
Method private ise önce setAccessable(true) yapmak gerekir. Sonra şöyle yaparız.
İmzası şöyle. Üst sınıfları dolaşır.
public static Method getAccessibleMethod(
Class clazz,
String methodName,
Class[] parameterTypes)
getMatchingMethod metoduBelirtilen parametrelere en iyi uyan Method nesnesini döndürür. Sanırım üst sınıfları dolaşır. Ancak Method'un accessable olup olmamasına bakmaz.
invokeExactMethod metodu
İmzası şöyle.
public static Object invokeExactMethod(
Object object,
String methodName,
Object[] args)
throws
NoSuchMethodException,
IllegalAccessException,
InvocationTargetException
İmzası şöyle.
public static Object invokeExactMethod(
Object object,
String methodName,
Object[] args,
Class[] parameterTypes)
throws
NoSuchMethodException,
IllegalAccessException,
InvocationTargetException
invokeMethod metodu - object + method name + argsÜçüncü parametre metod imzasındaki parametredir.
Örnek
getter metod için şöyle yaparız.
String value = (String) MethodUtils.invokeMethod(o, "getValue", (Object[])null);
ÖrnekŞöyle yaparız.
System.out.println(MethodUtils.invokeMethod("what?", "equals", new Object[] {"what?"}));
invokeStaticMethod metoduMethodUtils.geMatchingMethod() ile parametrelere uyan metod bulunabilir.
Örnek
Method private ise önce setAccessable(true) yapmak gerekir. Sonra şöyle yaparız.
Service.class
.getDeclaredMethod("getNightStart", LocalTime.class, LocalTime.class)
.setAccessible(true);
MethodUtils.invokeStaticMethod(Service.class,
"getNightStart", LocalTime.of(0, 0), LocalTime.of(8, 0));
Hiç yorum yok:
Yorum Gönder