Here you can find the source of getMethodInClassWithAnnotation(Class> cls, Class extends Annotation> annotationClass, int... modifiers)
Parameter | Description |
---|---|
cls | Klasse |
annotationClass | Annotations-Klasse |
modifiers | Modifier |
public static ArrayList<Method> getMethodInClassWithAnnotation(Class<?> cls, Class<? extends Annotation> annotationClass, int... modifiers)
//package com.java2s; //License from project: Open Source License import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.util.ArrayList; public class Main { /**/* ww w .j a va 2 s .co m*/ * Gibt die Methode aus der gegebenen Klasse mit dem gegebenen Namen, den gegebenen Argumenten zurueck und den gegebenenen Modifiern zurueck. * * @param cls * Klasse * @param annotationClass * Annotations-Klasse * @param modifiers * Modifier * @return Methode */ public static ArrayList<Method> getMethodInClassWithAnnotation(Class<?> cls, Class<? extends Annotation> annotationClass, int... modifiers) { ArrayList<Method> methods = new ArrayList<Method>(); for (Method m : cls.getDeclaredMethods()) { if (m.isAnnotationPresent(annotationClass) && hasAllModifiers(m, modifiers)) { methods.add(m); } } return methods; } /** * Sind alle gegebenen Modifier an der gegebenen Methode praesent. * * @param m * Methode * @param modifiers * Modifier * @return true, wenn ja; false, wenn nein */ public static boolean hasAllModifiers(Method m, int... modifiers) { boolean ret = true; for (int mod : modifiers) { if ((mod & m.getModifiers()) == 0) { ret = false; } } return ret; } }