クラスjava.lang.invoke.MethodHandles.Lookup
の使用
パッケージ | 説明 |
---|---|
java.lang |
Javaプログラミング言語の設計にあたり基本的なクラスを提供します。
|
java.lang.constant |
クラスやメソッド・ハンドルなどのランタイム・エンティティ用に「名目記述子」を表すクラスおよびインタフェース、および定数プール・エントリや
invokedynamic コール・サイトなどのクラス・ファイル・エンティティ用に「名目記述子」を表すクラスおよびインタフェース。 |
java.lang.invoke |
java.lang.invoke パッケージは、Java Virtual Machineとやりとりするための低レベルのプリミティブを提供します。 |
java.lang.runtime |
java.lang.runtime パッケージでは、Java言語の低レベルのランタイム・サポートが提供されます。 |
jdk.dynalink |
invokedynamic コール・サイトをリンクするためのインタフェースとクラスが含まれています。 |
jdk.dynalink.linker |
独自の言語固有のオブジェクト・モデルと型変換を実装するために、言語ランタイムに必要なインタフェースとクラスが含まれています。
|
jdk.dynalink.linker.support |
言語ランタイムが、言語固有のオブジェクト・モデルを実装し、いくつかのクラスの基本的な実装とさまざまなユーティリティを提供することによってコンバージョンをより便利にするクラスが含まれています。
|
-
java.langでのMethodHandles.Lookupの使用
型MethodHandles.Lookupのパラメータを持つjava.langのメソッド 修飾子と型 メソッド 説明 Double
Double. resolveConstantDesc(MethodHandles.Lookup lookup)
このインスタンスをConstantDesc
として解決します。その結果がインスタンス自体です。Float
Float. resolveConstantDesc(MethodHandles.Lookup lookup)
このインスタンスをConstantDesc
として解決します。その結果がインスタンス自体です。Integer
Integer. resolveConstantDesc(MethodHandles.Lookup lookup)
このインスタンスをConstantDesc
として解決します。その結果がインスタンス自体です。Long
Long. resolveConstantDesc(MethodHandles.Lookup lookup)
このインスタンスをConstantDesc
として解決します。その結果がインスタンス自体です。String
String. resolveConstantDesc(MethodHandles.Lookup lookup)
このインスタンスをConstantDesc
として解決します。その結果がインスタンス自体です。 -
java.lang.constantでのMethodHandles.Lookupの使用
型MethodHandles.Lookupのパラメータを持つjava.lang.constantのメソッド 修飾子と型 メソッド 説明 CallSite
DynamicCallSiteDesc. resolveCallSiteDesc(MethodHandles.Lookup lookup)
指定された引数を使用してブートストラップ・メソッドを最終的に起動し、結果のCallSite
を返します。Object
ConstantDesc. resolveConstantDesc(MethodHandles.Lookup lookup)
JVMS 5.4.3の解決動作およびJVMS 5.4.4のアクセス制御動作を反映して、この記述子を解決します。 -
java.lang.invokeでのMethodHandles.Lookupの使用
MethodHandles.Lookupを返すjava.lang.invokeのメソッド 修飾子と型 メソッド 説明 MethodHandles.Lookup
MethodHandles.Lookup. defineHiddenClass(byte[] bytes, boolean initialize, MethodHandles.Lookup.ClassOption... options)
bytes
からhiddenクラスまたはインタフェースを作成し、新しく作成されたクラスまたはインタフェースにLookup
を返します。MethodHandles.Lookup
MethodHandles.Lookup. dropLookupMode(int modeToDrop)
このルックアップ・オブジェクトがメンバーを検出するが、ルックアップ・モードでルックアップを作成して、ルックアップ・モードを失ったルックアップを作成します。MethodHandles.Lookup
MethodHandles.Lookup. in(Class<?> requestedLookupClass)
指定された新しいルックアップ・クラスでルックアップを作成します。static MethodHandles.Lookup
MethodHandles. lookup()
呼出し元のすべてのサポートされるバイトコード動作をエミュレートするためのフル機能を持つルックアップ・オブジェクト
を返します。static MethodHandles.Lookup
MethodHandles. privateLookupIn(Class<?> targetClass, MethodHandles.Lookup caller)
「プライベート・アクセス」を含む、サポートされているすべてのバイトコード動作をエミュレートするために、ターゲット・クラスのlookup
オブジェクトを返します。static MethodHandles.Lookup
MethodHandles. publicLookup()
最小の信頼レベルを持つルックアップ・オブジェクト
を返します。型MethodHandles.Lookupのパラメータを持つjava.lang.invokeのメソッド 修飾子と型 メソッド 説明 static CallSite
LambdaMetafactory. altMetafactory(MethodHandles.Lookup caller, String invokedName, MethodType invokedType, Object... args)
適切な型適応および引数の部分評価の後、指定されたMethodHandle
への委譲により、1つ以上のインタフェースを実装する単純な関数オブジェクトの作成を容易にします。static VarHandle
ConstantBootstraps. arrayVarHandle(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> arrayClass)
配列型にVarHandle
を検索します。static <E extends Enum<E>>
EConstantBootstraps. enumConstant(MethodHandles.Lookup lookup, String name, Class<E> type)
name
によって指定された名前を持つtype
によって指定された型のenum
定数を返します。static Object
ConstantBootstraps. explicitCast(MethodHandles.Lookup lookup, String name, Class<?> dstType, Object value)
ソース・タイプから宛先タイプへの変換を適用します。static VarHandle
ConstantBootstraps. fieldVarHandle(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType)
インスタンス・フィールドのVarHandle
を検索します。static Object
ConstantBootstraps. getStaticFinal(MethodHandles.Lookup lookup, String name, Class<?> type)
クラスで宣言された静的な最終フィールドの値を返します。この値は、(または、プリミティブ値フィールドの場合はラッパー・クラスで宣言されます。)フィールド・タイプと同じですstatic Object
ConstantBootstraps. getStaticFinal(MethodHandles.Lookup lookup, String name, Class<?> type, Class<?> declaringClass)
静的最終フィールドの値を返します。static Object
ConstantBootstraps. invoke(MethodHandles.Lookup lookup, String name, Class<?> type, MethodHandle handle, Object... args)
指定された引数を使ってメソッド・ハンドルを呼び出した結果を返します。static CallSite
StringConcatFactory. makeConcat(MethodHandles.Lookup lookup, String name, MethodType concatType)
おそらく型適応と引数の部分的な評価の後に既知の型の既知の引数を効率的に連結するために使用できる最適化された文字列連結メソッドの作成を容易にします。static CallSite
StringConcatFactory. makeConcatWithConstants(MethodHandles.Lookup lookup, String name, MethodType concatType, String recipe, Object... constants)
おそらく型適応と引数の部分的な評価の後に既知の型の既知の引数を効率的に連結するために使用できる最適化された文字列連結メソッドの作成を容易にします。static CallSite
LambdaMetafactory. metafactory(MethodHandles.Lookup caller, String invokedName, MethodType invokedType, MethodType samMethodType, MethodHandle implMethod, MethodType instantiatedMethodType)
適切な型適応および引数の部分評価の後、指定されたMethodHandle
への委譲により、1つ以上のインタフェースを実装する単純な関数オブジェクトの作成を容易にします。static Object
ConstantBootstraps. nullConstant(MethodHandles.Lookup lookup, String name, Class<?> type)
type
で指定された参照型のnull
オブジェクト参照を戻します。static Class<?>
ConstantBootstraps. primitiveClass(MethodHandles.Lookup lookup, String name, Class<?> type)
name
によって型記述子が指定されているプリミティブ型のClass
ミラーを戻します。static MethodHandles.Lookup
MethodHandles. privateLookupIn(Class<?> targetClass, MethodHandles.Lookup caller)
「プライベート・アクセス」を含む、サポートされているすべてのバイトコード動作をエミュレートするために、ターゲット・クラスのlookup
オブジェクトを返します。<T extends Member>
TMethodHandleInfo. reflectAs(Class<T> expected, MethodHandles.Lookup lookup)
メソッド、コンストラクタまたはフィールド・オブジクトの基礎となるメンバーをリフレクトします。VarHandle
VarHandle.VarHandleDesc. resolveConstantDesc(MethodHandles.Lookup lookup)
static VarHandle
ConstantBootstraps. staticFieldVarHandle(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType)
静的フィールドのVarHandle
を検索します。 -
java.lang.runtimeでのMethodHandles.Lookupの使用
型MethodHandles.Lookupのパラメータを持つjava.lang.runtimeのメソッド 修飾子と型 メソッド 説明 static Object
ObjectMethods. bootstrap(MethodHandles.Lookup lookup, String methodName, TypeDescriptor type, Class<?> recordClass, String names, MethodHandle... getters)
invokedynamic
コール・サイトまたは動的な定数プール・エントリのコンポーネント名およびアクセッサ・メソッドの説明に基づいて、Object.equals(Object)
、Object.hashCode()
およびObject.toString()
メソッドを生成するブートストラップ・メソッド。 -
jdk.dynalinkでのMethodHandles.Lookupの使用
MethodHandles.Lookupを返すjdk.dynalinkのメソッド 修飾子と型 メソッド 説明 MethodHandles.Lookup
SecureLookupSupplier. getLookup()
このSecureLookupSupplier
で保護されている参照を返します。protected MethodHandles.Lookup
SecureLookupSupplier. getLookupPrivileged()
セキュリティ・チェックなしでSecureLookupSupplier.getLookup()
の値を返します。型MethodHandles.Lookupのパラメータを持つjdk.dynalinkのコンストラクタ コンストラクタ 説明 CallSiteDescriptor(MethodHandles.Lookup lookup, Operation operation, MethodType methodType)
新しいコール・サイト記述子を作成します。SecureLookupSupplier(MethodHandles.Lookup lookup)
渡されたルックアップを確保して、新しいセキュア・ルック・アップ・サプライヤを作成します。 -
jdk.dynalink.linkerでのMethodHandles.Lookupの使用
型MethodHandles.Lookupの型引数を持つjdk.dynalink.linkerのメソッド・パラメータ 修飾子と型 メソッド 説明 GuardedInvocation
GuardingTypeConverterFactory. convertToType(Class<?> sourceType, Class<?> targetType, Supplier<MethodHandles.Lookup> lookupSupplier)
指定されたソース型の値を受け取り、指定されたターゲット型に変換された値を返す保護された型変換を返します。 -
jdk.dynalink.linker.supportでのMethodHandles.Lookupの使用
型MethodHandles.Lookupのパラメータを持つjdk.dynalink.linker.supportのメソッド 修飾子と型 メソッド 説明 static MethodHandle
Lookup. findOwnSpecial(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
ルックアップがあれば、そのルックアップ・クラスのメソッドをLookup.findSpecial(Class, String, MethodType)
で見つけます。static MethodHandle
Lookup. findOwnStatic(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
ルックアップがあれば、そのルックアップ・クラスのメソッドをLookup.findStatic(Class, String, MethodType)
で見つけます。static MethodHandle
Lookup. unreflect(MethodHandles.Lookup lookup, Method m)
unreflect(Method)
を実行し、発生したIllegalAccessException
をIllegalAccessError
に変換します。static MethodHandle
Lookup. unreflectConstructor(MethodHandles.Lookup lookup, Constructor<?> c)
型MethodHandles.Lookupのパラメータを持つjdk.dynalink.linker.supportのコンストラクタ コンストラクタ 説明 Lookup(MethodHandles.Lookup lookup)
MethodHandles.Lookup
のインスタンスにバインドされた新しいインスタンスを作成します。