Chapter 11. Capturing Join Points Based on Object Type
Introduction
The pointcuts covered in this chapter enable you to examine the type
of the this reference, the optional target
reference or arguments at a particular join point.
The this([Type
|
Identifier]) examines the type of the object that
is referenced by this at the captured join point.
The target of a join point, specified by the
target([Type
|
Identifier]) pointcut, differs depending on the
join point type but is commonly the object upon which a method is
being called, or an attribute that is being accessed in some way
where the join point is encountered. The args of
a join point, specified by the args([Types
|
Identifiers]) pointcut, are
the arguments, if any, available at the captured join point.
The types of the this, target,
and args references can be examined in one of two
ways: using static Type
specifications, or by using an
Identifier that references an actual runtime
object.
A Type specification provides a static
compile-time evaluation of the object type at the join point and
takes the form of a fully qualified class name (for example,
com.oreilly.Foo is acceptable, but
Foo or Foo.class is not).
An Identifier provides a means by which the actual
types of runtime objects at the captured join point can be evaluated
rather than just static types. An Identifier is
dynamically assigned to the appropriate object at runtime.
11.1. Capturing When the this Reference Is a Specific Type
Problem
You want to capture all join points ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access