- java.lang.Object
- 
- jdk.dynalink.beans.BeansLinker
 
- 
- すべての実装されたインタフェース:
- GuardingDynamicLinker
 
 public class BeansLinker extends Object implements GuardingDynamicLinker 通常のJavaオブジェクト用のリンカー。 通常、DynamicLinkerFactoryによって最終的なフォールバック・リンカーとして使用されるため、他のリンカーが認識しなかったすべてのオブジェクトに呼び出しをリンクする機会が与えられます。 特に、このリンカーは:- StandardNamespace.PROPERTYネームスペース内の- StandardOperation.SETおよび- StandardOperation.GET操作のプロパティ・セッターおよびゲッターとして、フォーム- setXxx()、- getXxx()、および- isXxx()のすべてのパブリック・メソッドを公開
- StandardNamespace.METHODネームスペースで- StandardOperation.GET操作の検索のためのすべての公開メソッドを公開します。- StandardOperation.CALLを使用して検索されたメソッドを呼び出すことができます。
- 同じ名前のプロパティのゲッターやセッターがない限り、すべてのパブリック・フィールドをプロパティとして公開
-  ネイティブJava配列の要素、ListおよびMapオブジェクトをStandardOperation.GETおよびStandardOperation.SET操作としてStandardNamespace.ELEMENTネームスペースに公開
-  ListとMapオブジェクトの要素の削除をStandardNamespace.ELEMENT名前空間のStandardOperation.REMOVE操作として公開
- Java配列CollectionおよびMapオブジェクトのlengthという仮想プロパティを公開
- StandardOperation.NEWをJava配列を表す静的クラス・オブジェクトを含むコンストラクタへの呼び出しとして- StaticClassのインスタンスに公開する(それらのコンストラクタは作成する配列の長さを表す単一の- intパラメータをとります);
- StaticClassオブジェクトのインスタンス・メソッド、フィールド、およびプロパティがどのように公開されるかと同様に、静的メソッド、フィールド、クラスのプロパティを公開します。
- Classのインスタンスに- staticという名前の仮想プロパティを公開し、- StaticClassにアクセスします。
 「オーバーロードされたメソッドの解決」は、プロパティ・セッター、メソッド、およびコンストラクタに対して自動的に実行されます。 さらに、手動のオーバーロードされたメソッドの選択は、コール・サイトで明示的な署名(たとえば StandardOperation.GET.withNamespace(METHOD).named("parseInt(String,int)"))を含むメソッドの名前を指定することでサポートされます。これらのクラス・パッケージに関係なく、そのようなシグネチャで非修飾クラス名を使用できます。同じ非修飾名。 修飾されていないクラス名によって選択のあいまいさが発生する場合は、完全修飾クラス名を使用する必要があります。(それは非常にまれです)。 その機能をアタッチする論理的な場所がないため、コンストラクタのオーバーロードされた解像度は自動的ではありませんが、言語がこの機能を提供したい場合は、getConstructorMethod(Class, String)を便利なビルディング・ブロックとして使用できます。「可変引数呼び出し」は、メソッドとコンストラクタの両方で処理されます。 「コーラー・センシティブなメソッド」は、それ以外の場合はパブリックであり、リンク・リクエストには完全な強度の MethodHandles.Lookupオブジェクトを持ち、弱参照やパブリック・ルック・アップを持たないコール・サイト記述子があればリンクできます。「不足しているメンバーを処理するための動作」は、 MissingMemberHandlerFactoryをconstructorに渡すことでカスタマイズできます。このクラスは、 getLinkerForClass(Class)メソッドを使用したクラスごとのリンカーへのアクセスだけでなく、クラスおよびクラス・インスタンスで利用可能なプロパティおよびメソッド名の検出のためのさまざまなメソッドも公開しています。
- 
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 BeansLinker()新しいBeanリンカーを作成します。BeansLinker(MissingMemberHandlerFactory missingMemberHandlerFactory)不足しているメンバー・ハンドラを作成するために、指定されたファクトリで新しいBeanリンカーを作成します。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 static ObjectgetConstructorMethod(Class<?> clazz, String signature)指定されたクラスのコンストラクタの動的メソッドと指定されたシグネチャを返します。static Set<String>getInstanceMethodNames(クラス<?> clazz)クラスのすべてのインスタンス・メソッドの名前のセットを返します。TypeBasedGuardingDynamicLinkergetLinkerForClass(クラス<?> clazz)特定の単一クラスのBeanリンカーを返します。static Set<String>getReadableInstancePropertyNames(クラス<?> clazz)クラスのすべての読み込み可能なインスタンス・プロパティの名前のセットを返します。static Set<String>getReadableStaticPropertyNames(クラス<?> clazz)クラスのすべての読み込み可能な静的プロパティの名前のセットを返します。static Set<String>getStaticMethodNames(クラス<?> clazz)クラスのすべての静的メソッドの名前のセットを返します。static Set<String>getWritableInstancePropertyNames(クラス<?> clazz)クラスのすべての書き込み可能なインスタンス・プロパティの名前のセットを返します。static Set<String>getWritableStaticPropertyNames(クラス<?> clazz)クラスのすべての書き込み可能な静的プロパティの名前のセットを返します。static booleanisDynamicConstructor(Object obj)オブジェクトがJavaコンストラクタ(getConstructorMethod(Class, String)で取得)の場合はtrueを返します。static booleanisDynamicMethod(Object obj)オブジェクトがJavaの動的メソッド(たとえば、JavaオブジェクトまたはStaticClassまたはgetConstructorMethod(Class, String)を使用してGET:METHOD操作によって取得されたもの)の場合はtrueを返します。- 
クラス java.lang.Objectで宣言されたメソッドclone、equals、finalize、getClass、hashCode、notify、notifyAll、toString、wait、wait、wait
 - 
インタフェース jdk.dynalink.linker.GuardingDynamicLinkerで宣言されたメソッドgetGuardedInvocation
 
- 
 
- 
- 
- 
コンストラクタの詳細- 
BeansLinkerpublic BeansLinker() 新しいBeanリンカーを作成します。nullが欠落メンバー・ハンドラ・ファクトリとして渡されたBeansLinker(MissingMemberHandlerFactory)に相当し、不足しているメンバーをリンクして評価するためのデフォルトの動作となります。
 - 
BeansLinkerpublic BeansLinker(MissingMemberHandlerFactory missingMemberHandlerFactory) 不足しているメンバー・ハンドラを作成するために、指定されたファクトリで新しいBeanリンカーを作成します。 デフォルトの動作が適切であれば、渡されたファクトリはnullになります。 詳細については、MissingMemberHandlerFactoryを参照してください。- パラメータ:
- missingMemberHandlerFactory- 不足しているメンバーの操作のためのハンドラを作成するためのファクトリです。
 
 
- 
 - 
メソッドの詳細- 
getLinkerForClasspublic TypeBasedGuardingDynamicLinker getLinkerForClass(Class<?> clazz) 特定の単一クラスのBeanリンカーを返します。 言語ランタイム・リンカーの一部のクラスのリンク動作をオーバーライドまたは拡張する必要がある場合でも、場合によっては既定の動作に委任したい場合に役立ちます。- パラメータ:
- clazz- クラス
- 戻り値:
- そのクラスのBeanリンカー
 
 - 
isDynamicMethodpublic static boolean isDynamicMethod(Object obj) オブジェクトがJavaの動的メソッド(たとえば、JavaオブジェクトまたはStaticClassまたはgetConstructorMethod(Class, String)を使用してGET:METHOD操作によって取得されたもの)の場合はtrueを返します。- パラメータ:
- obj- テストするオブジェクトは、Javaの動的メソッドです。
- 戻り値:
- 動的メソッドの場合はtrue、そうでない場合はfalse。
 
 - 
isDynamicConstructorpublic static boolean isDynamicConstructor(Object obj) オブジェクトがJavaコンストラクタ(getConstructorMethod(Class, String)で取得)の場合はtrueを返します。- パラメータ:
- obj- 私たちがJavaコンストラクタであることをテストしたいオブジェクト。
- 戻り値:
- コンストラクタの場合はtrue、そうでない場合はfalse。
 
 - 
getConstructorMethodpublic static Object getConstructorMethod(Class<?> clazz, String signature) 指定されたクラスのコンストラクタの動的メソッドと指定されたシグネチャを返します。 このメソッドは、StaticClassオブジェクトが明示的なシグネチャ選択なしでオーバーロードされたコンストラクタとして動作するため、Dynalinkによってこの機能が公開されないため、明示的なシグネチャに基づいてオーバーロードされたコンストラクタを選択する機能を公開するのに便利です。 使用例は:getConstructorMethod(java.awt.Color.class, "int, int, int")。- パラメータ:
- clazz- クラス
- signature- コンストラクタの完全なシグネチャ。 プリミティブ型の名前、通常のJava表記(e.g.- "int[]")の配列名を使用する方法に注意してください。通常は、特定のパラメータ位置にあいまいさがない限り、- "java.lang.String, java.util.List"ではなく- "String, List"などの非修飾クラス名を使用することもできます。
- 戻り値:
- コンストラクタの動的メソッド。指定されたシグネチャを持つコンストラクタが存在しない場合はnullを返します。
 
 - 
getReadableInstancePropertyNamespublic static Set<String> getReadableInstancePropertyNames(Class<?> clazz) クラスのすべての読み込み可能なインスタンス・プロパティの名前のセットを返します。- パラメータ:
- clazz- クラス
- 戻り値:
- クラスのすべての読み込み可能なインスタンス・プロパティの名前のセット。
 
 - 
getWritableInstancePropertyNamespublic static Set<String> getWritableInstancePropertyNames(Class<?> clazz) クラスのすべての書き込み可能なインスタンス・プロパティの名前のセットを返します。- パラメータ:
- clazz- クラス
- 戻り値:
- クラスのすべての書き込み可能なインスタンス・プロパティの名前のセット。
 
 - 
getInstanceMethodNamespublic static Set<String> getInstanceMethodNames(Class<?> clazz) クラスのすべてのインスタンス・メソッドの名前のセットを返します。- パラメータ:
- clazz- クラス
- 戻り値:
- クラスのすべてのインスタンス・メソッドの名前のセット。
 
 - 
getReadableStaticPropertyNamespublic static Set<String> getReadableStaticPropertyNames(Class<?> clazz) クラスのすべての読み込み可能な静的プロパティの名前のセットを返します。- パラメータ:
- clazz- クラス
- 戻り値:
- クラスのすべての読み込み可能な静的プロパティの名前のセット。
 
 - 
getWritableStaticPropertyNamespublic static Set<String> getWritableStaticPropertyNames(Class<?> clazz) クラスのすべての書き込み可能な静的プロパティの名前のセットを返します。- パラメータ:
- clazz- クラス
- 戻り値:
- クラスのすべての書き込み可能な静的プロパティの名前のセット。
 
 
- 
 
-