StringBuffer beforeCall, StringBuffer call, JoinPointGenerator generator, JoinPointInfo info) throws NotFoundException;
private final boolean appendAdviceCall(AdviceSetup setup,
StringBuffer beforeCall, StringBuffer call, JoinPointGenerator generator)
{
AdviceMethodProperties properties = setup.getAdviceMethodProperties();
if (properties == null)
{
return false;
}
call.append(setup.getAspectFieldName());
call.append(".");
call.append(setup.getAdviceName());
call.append("(");
final int[] args = properties.getArgs();
boolean argsFound = false;
if (args.length > 0)
{
final Class<?>[] adviceParams = properties.getAdviceMethod().getParameterTypes();
if (properties.isAdviceOverloaded())
{
appendCast(call, adviceParams[0]);
}
argsFound = appendParameter(beforeCall, call, args[0], adviceParams[0], properties,
generator);
for (int i = 1 ; i < args.length ; i++)
{
call.append(", ");
if (properties.isAdviceOverloaded())
{
appendCast(call, adviceParams[i]);
}
argsFound = appendParameter(beforeCall, call, args[i], adviceParams[i],
properties, generator) || argsFound;