private static class MethodMatchers.UnionMethodMatcher extends java.lang.Object implements IntroductionAwareMethodMatcher, java.io.Serializable
Modifier and Type | Field and Description |
---|---|
private MethodMatcher |
mm1 |
private MethodMatcher |
mm2 |
TRUE
Constructor and Description |
---|
MethodMatchers.UnionMethodMatcher(MethodMatcher mm1,
MethodMatcher mm2) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
int |
hashCode() |
boolean |
isRuntime()
Is this MethodMatcher dynamic, that is, must a final call be made on the
MethodMatcher.matches(java.lang.reflect.Method, Class, Object[]) method at
runtime even if the 2-arg matches method returns true ? |
boolean |
matches(java.lang.reflect.Method method,
java.lang.Class targetClass)
Perform static checking whether the given method matches.
|
boolean |
matches(java.lang.reflect.Method method,
java.lang.Class targetClass,
boolean hasIntroductions)
Perform static checking whether the given method matches.
|
boolean |
matches(java.lang.reflect.Method method,
java.lang.Class targetClass,
java.lang.Object[] args)
Check whether there a runtime (dynamic) match for this method,
which must have matched statically.
|
protected boolean |
matchesClass1(java.lang.Class targetClass) |
protected boolean |
matchesClass2(java.lang.Class targetClass) |
private MethodMatcher mm1
private MethodMatcher mm2
public MethodMatchers.UnionMethodMatcher(MethodMatcher mm1, MethodMatcher mm2)
public boolean matches(java.lang.reflect.Method method, java.lang.Class targetClass, boolean hasIntroductions)
IntroductionAwareMethodMatcher
MethodMatcher.matches(java.lang.reflect.Method, Class)
method
if the caller supports the extended IntroductionAwareMethodMatcher interface.matches
in interface IntroductionAwareMethodMatcher
method
- the candidate methodtargetClass
- the target class (may be null
, in which case
the candidate class must be taken to be the method's declaring class)hasIntroductions
- true
if the object on whose behalf we are
asking is the subject on one or more introductions; false
otherwisepublic boolean matches(java.lang.reflect.Method method, java.lang.Class targetClass)
MethodMatcher
false
or if the MethodMatcher.isRuntime()
method
returns false
, no runtime check (i.e. no.
MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
call) will be made.matches
in interface MethodMatcher
method
- the candidate methodtargetClass
- the target class (may be null
, in which case
the candidate class must be taken to be the method's declaring class)protected boolean matchesClass1(java.lang.Class targetClass)
protected boolean matchesClass2(java.lang.Class targetClass)
public boolean isRuntime()
MethodMatcher
MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
method at
runtime even if the 2-arg matches method returns true
?
Can be invoked when an AOP proxy is created, and need not be invoked again before each method invocation,
isRuntime
in interface MethodMatcher
MethodMatcher.matches(java.lang.reflect.Method, Class, Object[])
method
is required if static matching passedpublic boolean matches(java.lang.reflect.Method method, java.lang.Class targetClass, java.lang.Object[] args)
MethodMatcher
This method is invoked only if the 2-arg matches method returns
true
for the given method and target class, and if the
MethodMatcher.isRuntime()
method returns true
. Invoked
immediately before potential running of the advice, after any
advice earlier in the advice chain has run.
matches
in interface MethodMatcher
method
- the candidate methodtargetClass
- the target class (may be null
, in which case
the candidate class must be taken to be the method's declaring class)args
- arguments to the methodMethodMatcher.matches(Method, Class)
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object