AspectJ - Simple Language Description

Simple Language Description

All valid Java programs are also valid AspectJ programs, but AspectJ also allows programmers to define special constructs called aspects. Aspects can contain several entities unavailable to standard classes. These are:

  • inter-type declarations—allow a programmer to add methods, fields, or interfaces to existing classes from within the aspect. This example adds an acceptVisitor (see visitor pattern) method to the Point class:
aspect VisitAspect { void Point.acceptVisitor(Visitor v) { v.visit(this); } }
  • pointcuts — allow a programmer to specify join points (well-defined moments in the execution of a program, like method call, object instantiation, or variable access). All pointcuts are expressions (quantifications) that determine whether a given join point matches. For example, this point-cut matches the execution of any instance method in an object of type Point whose name begins with set:
pointcut set : execution(* set*(..) ) && this(Point);
  • advice — allows a programmer to specify code to run at a join point matched by a pointcut. The actions can be performed before, after, or around the specified join point. Here, the advice refreshes the display every time something on Point is set, using the pointcut declared above:
after : set { Display.update; }

AspectJ also supports limited forms of pointcut-based static checking and aspect reuse (by inheritance). See the AspectJ Programming Guide for a more detailed description of the language.

Read more about this topic:  AspectJ

Famous quotes containing the words simple, language and/or description:

    “Chaucer sawed life in half and out tumbled hundreds of unpremeditated lives, because he didn’t have the cast-iron grid of a priori coherence that makes reading Goethe, Shakespeare, or Dante an exercise in searching for signs of life among the conventions, compulsions, self-justifications, proofs, wise saws, simple but powerful messages, and poetry.”
    —Marvin Mudrick (1921–1986)

    “The problems of society will also be the problems of the predominant language of that society. It is the carrier of its perceptions, its attitudes, and its goals, for through it, the speakers absorb entrenched attitudes. The guilt of English then must be recognized and appreciated before its continued use can be advocated.”
    —Njabulo Ndebele (b. 1948)

    “Whose are the truly labored sentences? From the weak and flimsy periods of the politician and literary man, we are glad to turn even to the description of work, the simple record of the month’s labor in the farmer’s almanac, to restore our tone and spirits.”
    —Henry David Thoreau (1817–1862)