Code, similar to a method, that is executed when a join point is reached. There are three kinds of advice: before advice that runs when a join point is reached, but before the method in question executes, after advice that executes after the method body executes, but before control returns to the caller, and around advice that runs before and after the method in question runs, and also has explicit control over whether the method is run at all.
See aspect-oriented programming.
A modular unit of crosscutting implementation in aspect-oriented programming, just as classes are the modular unit of implementation in object-oriented programming.
A type or style of programming that explicitly takes into account crosscutting concerns, just as object-oriented programming explicitly takes into account classes and objects.
Issues or programmer concerns that are not local to the natural unit of modularity.
The state of a program while it is executing. Contrast with lexical context.
A well-defined instant in the execution of a program. In AspectJ, join points are also principled, i.e. not every possible instance in the execution of a program is a potential join point.
The state of a program as it is written. Contrast with dynamic context.
A type of pointcut designator that enumerates and composes explicitly named join points. For example,
pointcut move(): call(void FigureElement.setXY(int,int)) || call(void Point.setX(int)) || call(void Point.setY(int)) || call(void Line.setP1(Point)) || call(void Line.setP2(Point));
is a pointcut designator that explicitly names five join points. See also property-based pointcut designator.
A collection of join points.
The name of a pointcut, or an expression which identifies a pointcut. Pointcut designators can be primitive or composite. Composite pointcut designators are primitive pointcut designators composed using the operators ||, &&, and !. See also name-based pointcut designator and property-based pointcut sesignator.
A test or assertion that must be true after a method has executed.
A test or assertion that must be true when a method is called.
A type of pointcut designator that specifies pointcuts in terms of the properties of methods rather than just their names. For example,
call(public * Figure.*(..))
specifies all the public methods in the class Figure regardless of the type and number of their arguments or return type. See also name-based pointcut designator.
An aspect that can be extended or inherited from.
The number, order and type of the arguments to a method.
The special variable that identifies the current join point when a non-static join point is reached.