- 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の要素を取得するための名前付き操作になります。 このような場合、操作のコール・サイトの予想されるシグネチャは変更され、nameパラメータは含まれなくなります。 具体的には、すべてのStandardOperation
メンバーのドキュメントは、名前付き操作に組み込まれてどのように影響されるかを記述します。NamedOperation
は直接構築できますが、代わりにOperation.named(Object)
ファクトリ・メソッドを使用すると便利です:StandardOperation.GET .withNamespace(StandardNamespace.ELEMENT), .named(3) )
NamedOperation
はNamespaceOperation
をベースにして最も頻繁に使用されますが、ベースとしても他の操作を行うことができます(別の名前付き操作を除いて)。 具体的には、StandardOperation.CALL
とStandardOperation.NEW
の両方をNamedOperation
と直接使用できます。 これらの操作のためのコントラクトは、それらが名前付き操作として使用されるとき、その名前は診断メッセージにのみ使用され、通常、呼び出し先を取得したソース式(例えばStandardOperation.CALL.named("window.open")
)のテキスト表現を含みます。
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 NamedOperation(Operation baseOperation, Object name)
新しい名前付き操作を作成します。
-
メソッドのサマリー
修飾子と型 メソッド 説明 NamedOperation
changeName(String newName)
この名前と異なる名前の操作を検索または作成します。boolean
equals(Object obj)
この名前付き操作を別のオブジェクトと比較します。Operation
getBaseOperation()
この名前付き操作の基本操作を返します。static Operation
getBaseOperation(Operation op)
渡された操作が名前付き操作の場合はgetBaseOperation()
を返し、そうでない場合はその操作をそのまま返します。Object
getName()
この名前付き操作の名前を返します。static Object
getName(Operation op)
渡された操作が名前付き操作の場合はgetName()
を返し、そうでない場合はnullを返します。int
hashCode()
この名前付き操作のハッシュ・コードを返します。String
toString()
この名前付き操作の文字列表現を返します。-
インタフェース jdk.dynalink.Operationで宣言されたメソッド
named, withNamespace, withNamespaces
-
-
-
-
コンストラクタの詳細
-
NamedOperation
public NamedOperation(Operation baseOperation, Object name)
新しい名前付き操作を作成します。- パラメータ:
baseOperation
- 名前に関連付けられた基本操作。name
- ベース操作に関連付けられた名前。 名前は必ずしも文字列ではなく、任意のオブジェクトであることに注意してください。 名前はアドレッシングに使用されるので、配列やリストなどのインデックスとして使用される場合はInteger
になります。- 例外:
NullPointerException
-baseOperation
またはname
のいずれかがnullの場合。IllegalArgumentException
-baseOperation
自体がNamedOperation
の場合。
-
-
メソッドの詳細
-
getBaseOperation
public Operation getBaseOperation()
この名前付き操作の基本操作を返します。- 戻り値:
- この名前付き操作の基本操作。
-
getName
public Object getName()
この名前付き操作の名前を返します。- 戻り値:
- この名前付き操作の名前。
-
changeName
public final NamedOperation changeName(String newName)
この名前と異なる名前の操作を検索または作成します。- パラメータ:
newName
- 古い名前を新しい名前に置き換えます。- 戻り値:
- 名前が変更された名前付き操作。
- 例外:
NullPointerException
- 名前がnullの場合。
-
equals
public boolean equals(Object obj)
この名前付き操作を別のオブジェクトと比較します。 他のオブジェクトが名前付き操作であり、その基本操作と名前が等しい場合はtrueを返します。- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- 比較対象の参照オブジェクト。- 戻り値:
- このオブジェクトがobj引数と同じである場合は
true
、それ以外の場合はfalse
。 - 関連項目:
Object.hashCode()
、HashMap
-
hashCode
public int hashCode()
この名前付き操作のハッシュ・コードを返します。baseOperation.hashCode() + 31 * name.hashCode()
と等しくなるように定義されています。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()
この名前付き操作の文字列表現を返します。baseOperation.toString() + ":" + name.toString()
と等しくなるように定義されています。
-
getBaseOperation
public static Operation getBaseOperation(Operation op)
渡された操作が名前付き操作の場合はgetBaseOperation()
を返し、そうでない場合はその操作をそのまま返します。- パラメータ:
op
- 操作- 戻り値:
- 渡された操作の基本操作。
-
-