}
return new AnnotatedElementMetaDataLoader(constructor);
}
else if (signature instanceof MethodSignature)
{
MethodSignature methodSignature = (MethodSignature) signature;
Method method = methodSignature.getMethod();
if (method == null)
method = SecurityActions.findMethod(clazz, signature.getName(), signature.getParametersTypes(clazz));
if (method == null)
{
if (log.isTraceEnabled())
log.trace("Method with signature " + signature + " does not exist on class " + clazz.getName());
return null;
}
return new AnnotatedElementMetaDataLoader(method);
}
else if (signature instanceof DeclaredMethodSignature)
{
DeclaredMethodSignature methodSignature = (DeclaredMethodSignature) signature;
Method method = methodSignature.getMethod();
if (method == null)
{
clazz = getDeclaringClass(clazz, methodSignature.getDeclaringClass());
if (clazz == null)
return null;
method = SecurityActions.findMethod(clazz, signature.getName(), signature.getParametersTypes(clazz));
}
if (method == null)