パッケージ org.springframework.core
クラス BridgeMethodResolver
java.lang.ObjectSE
org.springframework.core.BridgeMethodResolver
合成
bridge Methods
をブリッジングされる Method
SE に解決するためのヘルパー。 合成 bridge Method
を指定すると、ブリッジされている Method
SE が返されます。ブリッジメソッドは、パラメーター化された引数を持つメソッドを持つパラメーター化された型を継承するときに、コンパイラーによって作成されます。実行時の呼び出し中に、ブリッジ Method
SE を呼び出したり、リフレクションを介して使用したりできます。Methods
SE でアノテーションを検索する場合は、必要に応じてブリッジ Methods
SE をチェックし、ブリッジされた Method
SE を見つけることをお勧めします。
ブリッジメソッドの使用の詳細については、Java 言語仕様を参照してください。
- 導入:
- 2.0
- 作成者:
- Rob Harrop, Juergen Hoeller, Phillip Webb
方法の概要
修飾子と型メソッド説明static MethodSE
findBridgedMethod
(MethodSE bridgeMethod) 提供されたbridge Method
SE のローカルの元のメソッドを見つけます。static MethodSE
getMostSpecificMethod
(MethodSE bridgeMethod, ClassSE<?> targetClass) ローカル宣言クラスで使用できない場合でも、指定されたクラス階層内で指定されたbridge Method
SE に対して最も具象メソッドを決定します。static boolean
isVisibilityBridgeMethodPair
(MethodSE bridgeMethod, MethodSE bridgedMethod) ブリッジメソッドとブリッジするメソッドのシグネチャーを比較します。
メソッドの詳細
findBridgedMethod
提供されたbridge Method
SE のローカルの元のメソッドを見つけます。非ブリッジ
Method
SE インスタンスを渡してこのメソッドを呼び出すのは安全です。このような場合、提供されたMethod
SE インスタンスは呼び出し元に直接返されます。呼び出し元は、このメソッドを呼び出す前にブリッジを確認する必要はありません。- パラメーター:
bridgeMethod
- 宣言クラスに対してイントロスペクトするメソッド- 戻り値:
- 元の方法 (ブリッジされたメソッド、または特定のメソッドが見つからなかった場合は渡されたメソッド)
- 関連事項:
getMostSpecificMethod
public static MethodSE getMostSpecificMethod(MethodSE bridgeMethod, @Nullable ClassSE<?> targetClass) ローカル宣言クラスで使用できない場合でも、指定されたクラス階層内で指定されたbridge Method
SE に対して最も具象メソッドを決定します。これは実質的に
ClassUtils.getMostSpecificMethod(java.lang.reflect.Method, java.lang.Class<?>)
とfindBridgedMethod(java.lang.reflect.Method)
の組み合わせであり、同じクラス階層レベルでブリッジメソッドが生成されていない場合でも、元のメソッドを解決します (Eclipse コンパイラーと通常の javac の既知の違い)。- パラメーター:
bridgeMethod
- 指定されたターゲットクラスに対してイントロスペクトするメソッドtargetClass
- 対象クラスで最も具象メソッドを見つける- 戻り値:
- 与えられたブリッジメソッドに対応する最も具象メソッド (より具体的な方法が見つからない場合は、元の方法を使用できます)
- 導入:
- 6.1.3
- 関連事項:
isVisibilityBridgeMethodPair
ブリッジメソッドとブリッジするメソッドのシグネチャーを比較します。パラメーターと戻り値の型が同じ場合、これは JDK-6342411 を修正するために Java 6 で導入された「可視性」ブリッジメソッドです。- 戻り値:
- 説明どおりに署名が一致するかどうか