Iterator it = pointcuts.iterator();
if (it.hasNext()) setupBasics(clazz);
while (it.hasNext())
{
InterfaceIntroduction pointcut = (InterfaceIntroduction) it.next();
ArrayList mixins = pointcut.getMixins();
for (int i = 0; i < mixins.size(); i++)
{
InterfaceIntroduction.Mixin mixin = (InterfaceIntroduction.Mixin) mixins.get(i);
addMixin(clazz, pointcut, mixin, baseMethods);
}
}
// pointcut interfaces. If a method is already implemented for it then use that method
// otherwise delegate to an interceptor
it = pointcuts.iterator();
while (it.hasNext())
{
InterfaceIntroduction pointcut = (InterfaceIntroduction) it.next();
String[] interfaces = pointcut.getInterfaces();
if (interfaces == null) continue;
for (int i = 0; i < interfaces.length; i++)
{
addIntroductionPointcutInterface(clazz, advisor, interfaces[i], baseMethods);
}