{
MethodInfo setter = pi.getSetter();
if (setter != null)
{
visitedMethods.add(setter);
Signature sis = new MethodSignature(setter);
MetaData cmdr = retrieval.getComponentMetaData(sis);
if (cmdr != null)
{
for(AnnotationPlugin plugin : propertyAnnotationPlugins)
{
if (isApplyPhase)
plugin.applyAnnotation(pi, cmdr, visitor);
else
plugin.cleanAnnotation(pi, cmdr, visitor);
}
}
else if (trace)
log.trace("No annotations for property " + pi.getName());
}
}
}
else if (trace)
log.trace("No properties");
// methods
Set<MethodInfo> methods = info.getMethods();
if (methods != null && methods.isEmpty() == false)
{
for(MethodInfo mi : methods)
{
if (visitedMethods.contains(mi) == false)
{
Signature mis = new MethodSignature(mi);
MetaData cmdr = retrieval.getComponentMetaData(mis);
if (cmdr != null)
{
for(AnnotationPlugin plugin : methodAnnotationPlugins)
{
if (isApplyPhase)
plugin.applyAnnotation(mi, cmdr, visitor);
else
plugin.cleanAnnotation(mi, cmdr, visitor);
}
}
else if (trace)
log.trace("No annotations for " + mi);
}
}
}
else if (trace)
log.trace("No methods");
// static methods
MethodInfo[] staticMethods = classInfo.getDeclaredMethods();
if (staticMethods != null && staticMethods.length != 0)
{
for(MethodInfo smi : staticMethods)
{
if (smi.isStatic() && smi.isPublic())
{
Signature mis = new MethodSignature(smi);
MetaData cmdr = retrieval.getComponentMetaData(mis);
if (cmdr != null)
{
for(AnnotationPlugin plugin : methodAnnotationPlugins)
{