Package org.springframework.core
Class BridgeMethodResolver
- java.lang.Object
- org.springframework.core.BridgeMethodResolver
public final class BridgeMethodResolver extends Object
Helper for resolving syntheticbridge Methods
to theMethod
being bridged.Given a synthetic
bridge Method
returns theMethod
being bridged. A bridge method may be created by the compiler when extending a parameterized type whose methods have parameterized arguments. During runtime invocation the bridgeMethod
may be invoked and/or used via reflection. When attempting to locate annotations onMethods
, it is wise to check for bridgeMethods
as appropriate and find the bridgedMethod
.See The Java Language Specification for more details on the use of bridge methods.
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller, Phillip Webb
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Method
findBridgedMethod(Method bridgeMethod)
Find the original method for the suppliedbridge Method
.static boolean
isVisibilityBridgeMethodPair(Method bridgeMethod, Method bridgedMethod)
Compare the signatures of the bridge method and the method which it bridges.
Method Detail
findBridgedMethod
public static Method findBridgedMethod(Method bridgeMethod)
Find the original method for the suppliedbridge Method
.It is safe to call this method passing in a non-bridge
Method
instance. In such a case, the suppliedMethod
instance is returned directly to the caller. Callers are not required to check for bridging before calling this method.- Parameters:
bridgeMethod
- the method to introspect- Returns:
- the original method (either the bridged method or the passed-in method if no more specific one could be found)
isVisibilityBridgeMethodPair
public static boolean isVisibilityBridgeMethodPair(Method bridgeMethod, Method bridgedMethod)
Compare the signatures of the bridge method and the method which it bridges. If the parameter and return types are the same, it is a 'visibility' bridge method introduced in Java 6 to fix https://bugs.java.com/view_bug.do?bug_id=6342411. See also https://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html- Returns:
- whether signatures match as described