java.lang.Object
jdk.dynalink.linker.support.Lookup
public final class Lookup extends Object
チェックされた例外をマスクする
MethodHandles.Lookupのラッパーです。 独自のコードベース(したがって、存在しない場合はエラーです)内でメソッドを検索する場合に便利です。 - 
フィールドのサマリーフィールド
- 
コンストラクタのサマリーコンストラクタ
- 
メソッドのサマリー修飾子と型メソッド説明findGetter(Class<?> refc, String name, Class<?> type)static MethodHandlefindOwnSpecial(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)ルックアップがあれば、そのルックアップ・クラスのメソッドをfindSpecial(Class, String, MethodType)で見つけます。findOwnSpecial(String name, Class<?> rtype, Class<?>... ptypes)findSpecial(Class, String, MethodType)を使ってそのルックアップ・クラスのメソッドを検索します。static MethodHandlefindOwnStatic(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)ルックアップがあれば、そのルックアップ・クラスのメソッドをfindStatic(Class, String, MethodType)で見つけます。findOwnStatic(String name, Class<?> rtype, Class<?>... ptypes)findStatic(Class, String, MethodType)を使ってそのルックアップ・クラスのメソッドを検索します。findSpecial(Class<?> declaringClass, String name, MethodType type)基になるルックアップに対してMethodHandles.Lookup.findSpecial(Class, String, MethodType, Class)を実行します。findStatic(Class<?> declaringClass, String name, MethodType type)基になるルックアップに対してMethodHandles.Lookup.findStatic(Class, String, MethodType)を実行します。findVirtual(Class<?> declaringClass, String name, MethodType type)基になるルックアップに対してMethodHandles.Lookup.findVirtual(Class, String, MethodType)を実行します。static MethodHandleunreflect(MethodHandles.Lookup lookup, Method m)static MethodHandleunreflectConstructor(MethodHandles.Lookup lookup, Constructor<?> c)unreflectConstructor(Constructor<?> c)unreflectGetter(Field f)unreflectSetter(Field f)
- 
フィールド詳細- 
PUBLICpublic static final Lookup PUBLICMethodHandles.publicLookup()をラップする正規のLookupオブジェクトです。
 
- 
- 
コンストラクタの詳細- 
ルックアップpublic Lookup(MethodHandles.Lookup lookup)MethodHandles.Lookupのインスタンスにバインドされた新しいインスタンスを作成します。- パラメータ:
- lookup- それが委任する- MethodHandles.Lookup。
 
 
- 
- 
メソッドの詳細- 
unreflectpublic MethodHandle unreflect(Method m)- パラメータ:
- m- 反射させないメソッド
- 戻り値:
- 未反映のメソッド・ハンドル。
- 例外:
- IllegalAccessError- メソッドにアクセスできない場合。
 
- 
unreflectpublic static MethodHandle unreflect(MethodHandles.Lookup lookup, Method m)- パラメータ:
- lookup- ルックアップを使用して未反映
- m- 反射させないメソッド
- 戻り値:
- 未反映のメソッド・ハンドル。
- 例外:
- IllegalAccessError- メソッドにアクセスできない場合。
 
- 
unreflectGetterpublic MethodHandle unreflectGetter(Field f)MethodHandles.Lookup.unreflectGetter(Field)を実行し、発生したIllegalAccessExceptionをIllegalAccessErrorに変換します。- パラメータ:
- f- ゲッターが反射されないフィールド
- 戻り値:
- 未反映のフィールド・ゲッター・ハンドル。
- 例外:
- IllegalAccessError- ゲッターにアクセスできない場合。
 
- 
findGetterpublic MethodHandle findGetter(Class<?> refc, String name, Class<?> type)MethodHandles.Lookup.findGetter(Class, String, Class)を実行し、発生したIllegalAccessExceptionをIllegalAccessErrorに変換し、NoSuchFieldExceptionをNoSuchFieldErrorに変換します。- パラメータ:
- refc- フィールドを宣言するクラス
- name- フィールドの名前
- type- フィールドの型
- 戻り値:
- 未反映のフィールド・ゲッター・ハンドル。
- 例外:
- IllegalAccessError- フィールドにアクセスできない場合。
- NoSuchFieldError- フィールドが存在しない場合。
 
- 
unreflectSetterpublic MethodHandle unreflectSetter(Field f)MethodHandles.Lookup.unreflectSetter(Field)を実行し、発生したIllegalAccessExceptionをIllegalAccessErrorに変換します。- パラメータ:
- f- セッターが反射されていないフィールド
- 戻り値:
- 未反映フィールド・セッター・ハンドル。
- 例外:
- IllegalAccessError- フィールドにアクセスできない場合。
- NoSuchFieldError- フィールドが存在しない場合。
 
- 
unreflectConstructorpublic MethodHandle unreflectConstructor(Constructor<?> c)MethodHandles.Lookup.unreflectConstructor(Constructor)を実行し、発生したIllegalAccessExceptionをIllegalAccessErrorに変換します。- パラメータ:
- c- 未反映のコンストラクタ
- 戻り値:
- 未反映のコンストラクタ・ハンドル。
- 例外:
- IllegalAccessError- コンストラクタにアクセスできない場合。
 
- 
unreflectConstructorpublic static MethodHandle unreflectConstructor(MethodHandles.Lookup lookup, Constructor<?> c)MethodHandles.Lookup.unreflectConstructor(Constructor)を実行し、発生したIllegalAccessExceptionをIllegalAccessErrorに変換します。- パラメータ:
- lookup- ルックアップを使用して未反映
- c- 未反映のコンストラクタ
- 戻り値:
- 未反映のコンストラクタ・ハンドル。
- 例外:
- IllegalAccessError- コンストラクタにアクセスできない場合。
 
- 
findSpecialpublic MethodHandle findSpecial(Class<?> declaringClass, String name, MethodType type)基になるルックアップに対してMethodHandles.Lookup.findSpecial(Class, String, MethodType, Class)を実行します。 遭遇したIllegalAccessExceptionをIllegalAccessErrorに変換し、NoSuchMethodExceptionをNoSuchMethodErrorに変換します。- パラメータ:
- declaringClass- メソッドを宣言するクラス
- name- メソッドの名前
- type- メソッドの型
- 戻り値:
- メソッドのメソッド・ハンドル
- 例外:
- IllegalAccessError- メソッドにアクセスできない場合。
- NoSuchMethodError- メソッドが存在しない場合。
 
- 
findStaticpublic MethodHandle findStatic(Class<?> declaringClass, String name, MethodType type)基になるルックアップに対してMethodHandles.Lookup.findStatic(Class, String, MethodType)を実行します。 遭遇したIllegalAccessExceptionをIllegalAccessErrorに変換し、NoSuchMethodExceptionをNoSuchMethodErrorに変換します。- パラメータ:
- declaringClass- メソッドを宣言するクラス
- name- メソッドの名前
- type- メソッドの型
- 戻り値:
- メソッドのメソッド・ハンドル
- 例外:
- IllegalAccessError- メソッドにアクセスできない場合。
- NoSuchMethodError- メソッドが存在しない場合。
 
- 
findVirtualpublic MethodHandle findVirtual(Class<?> declaringClass, String name, MethodType type)基になるルックアップに対してMethodHandles.Lookup.findVirtual(Class, String, MethodType)を実行します。 遭遇したIllegalAccessExceptionをIllegalAccessErrorに変換し、NoSuchMethodExceptionをNoSuchMethodErrorに変換します。- パラメータ:
- declaringClass- メソッドを宣言するクラス
- name- メソッドの名前
- type- メソッドの型
- 戻り値:
- メソッドのメソッド・ハンドル
- 例外:
- IllegalAccessError- メソッドにアクセスできない場合。
- NoSuchMethodError- メソッドが存在しない場合。
 
- 
findOwnSpecialpublic static MethodHandle findOwnSpecial(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)ルックアップがあれば、そのルックアップ・クラスのメソッドをfindSpecial(Class, String, MethodType)で見つけます。 便利なクラス・コードでは、自分のプライベートにリンクするのに便利です。- パラメータ:
- lookup- クラスのルックアップ
- name- メソッドの名前
- rtype- メソッドの戻り値の型
- ptypes- メソッドのパラメータ型
- 戻り値:
- メソッドのメソッド・ハンドル
 
- 
findOwnSpecialpublic MethodHandle findOwnSpecial(String name, Class<?> rtype, Class<?>... ptypes)findSpecial(Class, String, MethodType)を使ってそのルックアップ・クラスのメソッドを検索します。 便利なクラス・コードでは、自分のプライベートにリンクするのに便利です。findSpecialよりも便利なのは、パラメータ型をリストするだけで、ルックアップ・クラスを指定する必要がないという点です。- パラメータ:
- name- メソッドの名前
- rtype- メソッドの戻り値の型
- ptypes- メソッドのパラメータ型
- 戻り値:
- メソッドのメソッド・ハンドル
 
- 
findOwnStaticpublic static MethodHandle findOwnStatic(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)ルックアップがあれば、そのルックアップ・クラスのメソッドをfindStatic(Class, String, MethodType)で見つけます。 便利なクラス・コードでは、自分のプライベートにリンクするのに便利です。findStaticよりも使用する方が簡単です。パラメータ型をリストするだけでよく、ルックアップ・クラスを指定する必要はありません。- パラメータ:
- lookup- クラスのルックアップ
- name- メソッドの名前
- rtype- メソッドの戻り値の型
- ptypes- メソッドのパラメータ型
- 戻り値:
- メソッドのメソッド・ハンドル
 
- 
findOwnStaticpublic MethodHandle findOwnStatic(String name, Class<?> rtype, Class<?>... ptypes)findStatic(Class, String, MethodType)を使ってそのルックアップ・クラスのメソッドを検索します。 便利なクラス・コードでは、自分のプライベートにリンクするのに便利です。findStaticよりも使用する方が簡単です。パラメータ型をリストするだけでよく、ルックアップ・クラスを指定する必要はありません。- パラメータ:
- name- メソッドの名前
- rtype- メソッドの戻り値の型
- ptypes- メソッドのパラメータ型
- 戻り値:
- メソッドのメソッド・ハンドル
 
 
-