package org.etk.reflect.api.metadata;
import org.etk.reflect.core.AccessScope;
public interface MethodMetadata<T, M> {
Iterable<M> getDeclaredMethods(T classType);
String getName(M m);
T getReturnType(M m);
Iterable<T> getParameterTypes(M m);
Iterable<String> getParameterNames(M m);
AccessScope getAccess(M m);
boolean isAbstract(M m);
boolean isStatic(M m);
boolean isFinal(M m);
boolean isNative(M m);
Iterable<T> getTypeParameters(M m);
M getGenericDeclaration(T typeVariable);
T getOwner(M m);
Iterable<T> getThrownTypes(M method);
}