Package org.springframework.aop.support
Class ComposablePointcut
- java.lang.Object
- org.springframework.aop.support.ComposablePointcut
- All Implemented Interfaces:
Serializable
,Pointcut
public class ComposablePointcut extends Object implements Pointcut, Serializable
Convenient class for building up pointcuts.All methods return
ComposablePointcut
, so we can use concise idioms like in the following example.Pointcut pc = new ComposablePointcut() .union(classFilter) .intersection(methodMatcher) .intersection(pointcut);
- Since:
- 11.11.2003
- Author:
- Rod Johnson, Juergen Hoeller, Rob Harrop
- See Also:
Pointcuts
, Serialized Form
Constructor Summary
Constructors Constructor Description ComposablePointcut()
Create a default ComposablePointcut, withClassFilter.TRUE
andMethodMatcher.TRUE
.ComposablePointcut(ClassFilter classFilter)
Create a ComposablePointcut for the given ClassFilter, withMethodMatcher.TRUE
.ComposablePointcut(ClassFilter classFilter, MethodMatcher methodMatcher)
Create a ComposablePointcut for the given ClassFilter and MethodMatcher.ComposablePointcut(MethodMatcher methodMatcher)
Create a ComposablePointcut for the given MethodMatcher, withClassFilter.TRUE
.ComposablePointcut(Pointcut pointcut)
Create a ComposablePointcut based on the given Pointcut.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object other)
ClassFilter
getClassFilter()
Return the ClassFilter for this pointcut.MethodMatcher
getMethodMatcher()
Return the MethodMatcher for this pointcut.int
hashCode()
ComposablePointcut
intersection(ClassFilter other)
Apply an intersection with the given ClassFilter.ComposablePointcut
intersection(MethodMatcher other)
Apply an intersection with the given MethodMatcher.ComposablePointcut
intersection(Pointcut other)
Apply an intersection with the given Pointcut.String
toString()
ComposablePointcut
union(ClassFilter other)
Apply a union with the given ClassFilter.ComposablePointcut
union(MethodMatcher other)
Apply a union with the given MethodMatcher.ComposablePointcut
union(Pointcut other)
Apply a union with the given Pointcut.
Constructor Detail
ComposablePointcut
public ComposablePointcut()
Create a default ComposablePointcut, withClassFilter.TRUE
andMethodMatcher.TRUE
.
ComposablePointcut
public ComposablePointcut(Pointcut pointcut)
Create a ComposablePointcut based on the given Pointcut.- Parameters:
pointcut
- the original Pointcut
ComposablePointcut
public ComposablePointcut(ClassFilter classFilter)
Create a ComposablePointcut for the given ClassFilter, withMethodMatcher.TRUE
.- Parameters:
classFilter
- the ClassFilter to use
ComposablePointcut
public ComposablePointcut(MethodMatcher methodMatcher)
Create a ComposablePointcut for the given MethodMatcher, withClassFilter.TRUE
.- Parameters:
methodMatcher
- the MethodMatcher to use
ComposablePointcut
public ComposablePointcut(ClassFilter classFilter, MethodMatcher methodMatcher)
Create a ComposablePointcut for the given ClassFilter and MethodMatcher.- Parameters:
classFilter
- the ClassFilter to usemethodMatcher
- the MethodMatcher to use
Method Detail
union
public ComposablePointcut union(ClassFilter other)
Apply a union with the given ClassFilter.- Parameters:
other
- the ClassFilter to apply a union with- Returns:
- this composable pointcut (for call chaining)
intersection
public ComposablePointcut intersection(ClassFilter other)
Apply an intersection with the given ClassFilter.- Parameters:
other
- the ClassFilter to apply an intersection with- Returns:
- this composable pointcut (for call chaining)
union
public ComposablePointcut union(MethodMatcher other)
Apply a union with the given MethodMatcher.- Parameters:
other
- the MethodMatcher to apply a union with- Returns:
- this composable pointcut (for call chaining)
intersection
public ComposablePointcut intersection(MethodMatcher other)
Apply an intersection with the given MethodMatcher.- Parameters:
other
- the MethodMatcher to apply an intersection with- Returns:
- this composable pointcut (for call chaining)
union
public ComposablePointcut union(Pointcut other)
Apply a union with the given Pointcut.Note that for a Pointcut union, methods will only match if their original ClassFilter (from the originating Pointcut) matches as well. MethodMatchers and ClassFilters from different Pointcuts will never get interleaved with each other.
- Parameters:
other
- the Pointcut to apply a union with- Returns:
- this composable pointcut (for call chaining)
intersection
public ComposablePointcut intersection(Pointcut other)
Apply an intersection with the given Pointcut.- Parameters:
other
- the Pointcut to apply an intersection with- Returns:
- this composable pointcut (for call chaining)
getClassFilter
public ClassFilter getClassFilter()
Description copied from interface:Pointcut
Return the ClassFilter for this pointcut.- Specified by:
getClassFilter
in interfacePointcut
- Returns:
- the ClassFilter (never
null
)
getMethodMatcher
public MethodMatcher getMethodMatcher()
Description copied from interface:Pointcut
Return the MethodMatcher for this pointcut.- Specified by:
getMethodMatcher
in interfacePointcut
- Returns:
- the MethodMatcher (never
null
)