Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.core
Class BridgeMethodResolver

    java.lang.Object
      org.springframework.core.BridgeMethodResolver

    public abstract class BridgeMethodResolver

extends java.lang.Object

Helper for resolving synthetic `bridge Methods` to the `Method` being bridged.

Given a synthetic `bridge Method` returns the `Method` 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 bridge `Method` may be invoked and/or used via reflection. When attempting to locate annotations on `Methods`, it is wise to check for bridge `Methods` as appropriate and find the bridged `Method`.

See The Java Language Specification for more details on the use of bridge methods.

Since:
  2.0
Author:
  Rob Harrop, Juergen Hoeller

Constructor Summary
`BridgeMethodResolver()`

Method Summary
`static java.lang.reflect.Method` | `findBridgedMethod(java.lang.reflect.Method bridgeMethod)` Find the original method for the supplied `bridge Method`.
`static boolean` | `isVisibilityBridgeMethodPair(java.lang.reflect.Method bridgeMethod, java.lang.reflect.Method bridgedMethod)` Compare the signatures of the bridge method and the method which it bridges.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BridgeMethodResolver

    public BridgeMethodResolver()

Method Detail

### findBridgedMethod

    public static java.lang.reflect.Method findBridgedMethod(java.lang.reflect.Method bridgeMethod)

  Find the original method for the supplied `bridge Method`.

  It is safe to call this method passing in a non-bridge `Method` instance. In such a case, the supplied `Method` 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(java.lang.reflect.Method bridgeMethod,
                                                       java.lang.reflect.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 http://bugs.sun.com/view_bug.do?bug_id=6342411. See also http://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html

  Returns:
    whether signatures match as described

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD