-
- 関数型インタフェース:
- これは関数型インタフェースなので、ラムダ式またはメソッド参照の代入先として使用できます。
@FunctionalInterface public interface MissingMemberHandlerFactory
BeansLinkerで欠落しているメンバー動作をリンクするためのメソッド・ハンドルを作成するためのファクトリ。 BeansLinkerは、これらのメソッド・ハンドルを、リクエストされたメンバー(プロパティ、メソッドまたは要素)が欠落していることが確実であるか、または可能である場合に、GET_*およびSET_*StandardOperationを指定するリンク・リクエストのガード付き呼出しにリンクします。 これらは、named操作と名前のない操作の両方でリンクされます。 実装者は、返されたメソッド・ハンドルのパラメータ・タイプが、リンク・リクエストで説明されているコール・サイトのパラメータ・タイプと一致していることを確認する必要があります。 ただし、DynamicLinkerFactory.setPrelinkTransformer(jdk.dynalink.linker.GuardedInvocationTransformer)遅延戻り型変換を許可するために、戻り型は異なる場合があります。 デフォルトの動作で十分な場合は、メソッド・ハンドルに対してnullを戻すことができます。デフォルトのメンバー欠落動作
メンバー・ハンドラ・ファクトリがない状態でBeansLinkerが構成されている場合、またはファクトリが特定のハンドラ作成呼出しに対してnullを返す場合は、デフォルトの動作が使用されます。 デフォルトの動作では、リンクされた操作が既存のメンバーに対処しないことをリンク時に判断できる場合、GuardingDynamicLinker.getGuardedInvocation(LinkRequest, LinkerServices)からnullが返されます。 これにより、DynamicLinkerは次のリンカーが存在する場合、またはNoSuchDynamicMethodExceptionでリンク・リクエストを最終的に失敗した場合に試行できます。 その他の場合(通常、すべての名前のないメンバー操作およびコレクション要素に対するほとんどの名前付き操作)では、BeansLinkerは、実行時にgetterのどのメンバーとも一致しない名前で呼び出されたときにnullを返す条件付きリンケージを生成し、setterに渡された値を暗黙的に無視します。例外スロー動作の実装
欠落しているメンバーに対する操作の言語固有の動作が例外をスローする場合、ファクトリは、呼出し時に例外をスローするメソッド・ハンドルを生成し、欠落しているメンバーのリンケージは条件付きであることが多いため、例外自体をスローしないようにする必要があります。
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 MethodHandlecreateMissingMemberHandler(LinkRequest linkRequest, LinkerServices linkerServices)特定のリンク・リクエストの欠落しているメンバー動作の実装に適したメソッド・ハンドルを返します。
-
-
-
メソッドの詳細
-
createMissingMemberHandler
MethodHandle createMissingMemberHandler(LinkRequest linkRequest, LinkerServices linkerServices) throws Exception
特定のリンク・リクエストの欠落しているメンバー動作の実装に適したメソッド・ハンドルを返します。 詳細については、クラスの説明を参照してください。- パラメータ:
linkRequest- 現在のリンク・リクエストlinkerServices- 現在のリンク・サービス- 戻り値:
- 操作によってアドレス指定されているプロパティ、要素またはメソッドが欠落している場合に起動できるメソッド・ハンドル。 戻り値はnullの場合があります。
- 例外:
Exception- 操作がなんらかの理由で失敗した場合。 欠落しているメンバー動作の例外スローを実装するには、クラス・ドキュメントのノートを確認してください。
-
-