モジュール jdk.dynalink
パッケージ jdk.dynalink

クラスNamedOperation

java.lang.Object
jdk.dynalink.NamedOperation
すべての実装されたインタフェース:
Operation

public final class NamedOperation extends Object implements Operation
名前を別の操作に関連付ける操作。 通常は、固定名にバインドするために名前または索引を使用する操作で使用されます。 次に例を示します。
     new NamedOperation(
         new NamespaceOperation(
             StandardOperation.GET,
             StandardNamespace.PROPERTY),
         "color")
 
これは、適用先のオブジェクトで"color"という名前のプロパティを取得するための名前付き操作です
     new NamedOperation(
         new NamespaceOperation(
             StandardOperation.GET,
             StandardNamespace.ELEMENT),
         3)
 
(このコンテキストの"name"は、"address"と似ており、リンカーが理解できるテキスト名、数値インデックス、またはその他の種類のアドレス指定の両方を含みます)に適用されるコレクションからインデックス3の要素を取得するための名前付き操作になります。 このような場合、操作のコール・サイトの予期されるシグネチャは、名前パラメータが含まれないように変更されます。 具体的には、すべてのStandardOperationメンバーに関するドキュメントでは、名前付き操作に組み込むことによる影響について説明します。

NamedOperationは直接構築できますが、Operation.named(Object)ファクトリ・メソッドをかわりに使用すると便利です。例:

    StandardOperation.GET
        .withNamespace(StandardNamespace.ELEMENT),
        .named(3)
     )
 

NamedOperationはベースとしてNamespaceOperationとともによく使用されますが、他の操作をベースとして(別の名前付き操作を除いて)にすることもできます。 具体的には、StandardOperation.CALLStandardOperation.NEWの両方をNamedOperationと直接使用できます。 これらの操作の契約は、名前付き操作として使用される場合、その名前が診断メッセージにのみ使用され、通常はコール先を取得したソース式のテキスト表現(StandardOperation.CALL.named("window.open")など)が含まれます。

導入されたバージョン:
9