org.eclipse.xtend.backend.aop
Class AdvisedFunction

java.lang.Object
  extended by org.eclipse.xtend.backend.aop.AdvisedFunction

public final class AdvisedFunction
extends java.lang.Object

This class represents a function with all applicable Advice.
It could formally be treated as a function, but it is a conscious design decision not to do that. The rationale behind that decision is that advice is bound to a name or context (via its PointCut) whereas a function is not. In other words, if a function is passed around in a program, the applicable advice can vary - and for that reason, advice is only applied "just in time", based on the then current name and context.

Author:
Arno Haase (http://www.haase-consulting.com), André Arnold

Constructor Summary
AdvisedFunction(QualifiedName functionName, Function function, java.util.List<AroundAdvice> advice, AdviceScopeCounter scopeCounter)
           
 
Method Summary
 java.lang.Object evaluate(ExecutionContext ctx, java.util.List<?> params)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AdvisedFunction

public AdvisedFunction(QualifiedName functionName,
                       Function function,
                       java.util.List<AroundAdvice> advice,
                       AdviceScopeCounter scopeCounter)
Method Detail

evaluate

public java.lang.Object evaluate(ExecutionContext ctx,
                                 java.util.List<?> params)