java.lang.Object
jdk.dynalink.SecureLookupSupplier
jdk.dynalink.CallSiteDescriptor
public class CallSiteDescriptor extends SecureLookupSupplier
コール・サイト記述子には、コール・サイトのリンクに必要なすべての情報が含まれています。 この情報は通常、ブートストラップ・メソッドのパラメータとして渡され、コール・サイトが発生するコール元クラスの
MethodHandles.Lookupオブジェクト、コール・サイトの動的操作、コール・サイトのメソッド型で構成されます。 CallSiteDescriptorオブジェクトはDynalinkで使用され、DynamicLinkerが後で使用するためにこれらのパラメータを取得して保存します。 
 
 組み込みのRelinkableCallSite実装のコンストラクタはすべて呼び出しサイト記述子を取ります。
 
コール・サイト記述子は不変でなければなりません。 このクラスをそのまま使用することも、サブクラス化することもできます。特に、記述子に情報を追加する必要がある場合(通常、ブートストラップ・メソッドの追加パラメータで渡される値)。 記述子は不変でなければならないので、コール・サイトがそれらを共有するように、同等の記述子のキャッシュを設定することができます。
 このクラスは、MethodHandles.LookupオブジェクトへのセキュリティでチェックされたアクセスのためにSecureLookupSupplierを拡張します。 このルックアップを使用して、この記述子によって記述されたコール・サイトのターゲットとして設定するメソッド・ハンドルを見つける必要があります。 
- 
フィールドのサマリー
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 CallSiteDescriptor(MethodHandles.Lookup lookup, Operation operation, MethodType methodType)新しいコール・サイト記述子を作成します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 CallSiteDescriptorchangeMethodType(MethodType newMethodType)メソッドの型がこの記述子と異なる呼び出しサイト記述子を検索または作成します。protected CallSiteDescriptorchangeMethodTypeInternal(MethodType newMethodType)メソッドの型がこの記述子と異なる呼び出しサイト記述子を検索または作成します。CallSiteDescriptorchangeOperation(Operation newOperation)この記述子との動作が異なるコール・サイト記述子を検索または作成します。protected CallSiteDescriptorchangeOperationInternal(Operation newOperation)この記述子との動作が異なるコール・サイト記述子を検索または作成します。booleanequals(Object obj)この呼び出しサイト記述子が渡されたオブジェクトと等しい場合はtrueを返します。MethodTypegetMethodType()コール・サイトのメソッドの型。OperationgetOperation()呼び出しサイトでの操作を返します。inthashCode()オペレーション、メソッド型、およびルックアップ・オブジェクトのルックアップ・クラスとルックアップ・モードから計算された、このコール・サイト記述子の値ベースのハッシュ・コードを返します。StringtoString()name(parameterTypes)returnType@lookupの形式のこの呼び出しサイト記述子の文字列表現を返します。
- 
コンストラクタの詳細- 
CallSiteDescriptorpublic CallSiteDescriptor(MethodHandles.Lookup lookup, Operation operation, MethodType methodType)新しいコール・サイト記述子を作成します。- パラメータ:
- lookup- 呼び出しサイトが属するクラスを記述する参照オブジェクト。- java.lang.invokeブートストラップ・メソッドから記述子を作成するときは、ブートストラップに渡される参照である必要があります。
- operation- コール・サイトでの動的操作。
- methodType- 呼び出しサイトのメソッドの型。- java.lang.invokeブートストラップ・メソッドから記述子を作成するときは、ブートストラップに渡されるメソッド型でなければなりません。
 
 
- 
- 
メソッドの詳細- 
getOperationpublic final Operation getOperation()呼び出しサイトでの操作を返します。- 戻り値:
- コール・サイトでの操作。
 
- 
getMethodTypepublic final MethodType getMethodType()コール・サイトのメソッドの型。- 戻り値:
- コール・サイトでのメソッドの型。
 
- 
changeMethodTypepublic final CallSiteDescriptor changeMethodType(MethodType newMethodType)メソッドの型がこの記述子と異なる呼び出しサイト記述子を検索または作成します。changeMethodTypeInternal(MethodType)を呼び出します。- パラメータ:
- newMethodType- 新しいメソッド型
- 戻り値:
- メソッド型が変更された呼び出しサイト記述子。
- 例外:
- NullPointerException-- newMethodTypeがnullの場合。
 
- 
changeMethodTypeInternalprotected CallSiteDescriptor changeMethodTypeInternal(MethodType newMethodType)メソッドの型がこの記述子と異なる呼び出しサイト記述子を検索または作成します。 サブクラスは、正確なクラスのオブジェクトを返すためにこのメソッドをオーバーライドする必要があります。 オーバーライドされたメソッドが、記述子(そのクラス、参照、または操作)のメソッド型以外のものを変更した場合、またはnullを返す場合、AssertionErrorがchangeMethodType(MethodType)からスローされます。- パラメータ:
- newMethodType- 新しいメソッド型
- 戻り値:
- メソッド型が変更されたコール・サイト記述子。
 
- 
changeOperationpublic final CallSiteDescriptor changeOperation(Operation newOperation)この記述子との動作が異なるコール・サイト記述子を検索または作成します。changeOperationInternal(Operation)を呼び出します。- パラメータ:
- newOperation- 新しい操作
- 戻り値:
- 変更された操作を伴うコール・サイト記述子。
- 例外:
- NullPointerException-- newOperationがnullの場合。
- SecurityException- 記述子の参照が- MethodHandles.publicLookup()でなく、セキュリティ・マネージャが存在し、- RuntimePermission("dynalink.getLookup")の検査が失敗した場合。 コール・サイト記述子の操作を変更すると、ルックアップを使用して任意の操作のための記述子を作成できるため、これは必要です。
 
- 
changeOperationInternalprotected CallSiteDescriptor changeOperationInternal(Operation newOperation)この記述子との動作が異なるコール・サイト記述子を検索または作成します。 サブクラスは、正確なクラスのオブジェクトを返すためにこのメソッドをオーバーライドする必要があります。 オーバーライドされたメソッドが記述子(そのクラス、参照、またはメソッドの型)の操作以外のものを変更した場合、またはnullを返す場合、AssertionErrorがchangeOperation(Operation)からスローされます。- パラメータ:
- newOperation- 新しい操作
- 戻り値:
- 変更された操作を伴うコール・サイト記述子。
 
- 
equalspublic boolean equals(Object obj)この呼び出しサイト記述子が渡されたオブジェクトと等しい場合はtrueを返します。 他のオブジェクトがまったく同じクラスで、その操作とメソッドの型が等しく、ルックアップが同じMethodHandles.Lookup.lookupClass()とMethodHandles.Lookup.lookupModes()を持つ場合、これは等しいとみなされます。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj- 比較対象の参照オブジェクト。
- 戻り値:
- このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse。
- 関連項目:
- Object.hashCode()、- HashMap
 
- 
hashCodepublic int hashCode()オペレーション、メソッド型、およびルックアップ・オブジェクトのルックアップ・クラスとルックアップ・モードから計算された、このコール・サイト記述子の値ベースのハッシュ・コードを返します。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このコール・サイト記述子の値ベースのハッシュ・コード。
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- 
toStringpublic String toString()name(parameterTypes)returnType@lookupの形式のこの呼び出しサイト記述子の文字列表現を返します。
 
-