パッケージ | 説明 |
---|---|
java.lang.invoke |
java.lang.invoke パッケージには、Javaコア・クラス・ライブラリおよび仮想マシンによって直接提供される動的言語サポートが含まれています。 |
修飾子と型 | メソッドと説明 |
---|---|
static MethodHandle |
MethodHandles.arrayElementGetter(Class<?> arrayClass)
配列の各要素に対する読取りアクセスを提供するメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandles.arrayElementSetter(Class<?> arrayClass)
配列の各要素に対する書込みアクセスを提供するメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandle.asCollector(Class<?> arrayType, int arrayLength)
末尾の指定された数の定位置引数を受け取り、それらを集めて1つの配列引数に格納するような、配列収集メソッド・ハンドルを作成します。
|
MethodHandle |
MethodHandle.asFixedArity()
固定引数カウント・メソッド・ハンドル(その他の点では現在のメソッド・ハンドルと同等のもの)を作成します。
|
MethodHandle |
MethodHandle.asSpreader(Class<?> arrayType, int arrayLength)
末尾の1つの配列引数を受け取り、その要素を複数の定位置引数に分配するような、配列分配メソッド・ハンドルを作成します。
|
MethodHandle |
MethodHandle.asType(MethodType newType)
現在のメソッド・ハンドルの型を新しい型に適応させるアダプタ・メソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandle.asVarargsCollector(Class<?> arrayType)
末尾の任意の数の定位置引数を受け取り、それらを集めて1つの配列引数に格納できるような、可変引数アダプタを作成します。
|
MethodHandle |
MethodHandles.Lookup.bind(Object receiver, String name, MethodType type)
非staticメソッドの早期バインド・メソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandle.bindTo(Object x)
値
x をメソッド・ハンドルの最初の引数にバインドしますが、その呼出しは行いません。 |
static MethodHandle |
MethodHandles.catchException(MethodHandle target, Class<? extends Throwable> exType, MethodHandle handler)
ターゲットのメソッド・ハンドルを例外ハンドラの内部で実行することによって、このターゲットを適応させるメソッド・ハンドルを作成します。
|
static MethodHandle |
MethodHandles.collectArguments(MethodHandle target, int pos, MethodHandle filter)
ターゲット・メソッド・ハンドルを、フィルタ(別のメソッド・ハンドル)でその引数のサブシーケンスを前処理することにより、適応させます。
|
static MethodHandle |
MethodHandles.constant(Class<?> type, Object value)
要求された戻り値の型を持ち、呼び出されるたびに指定された定数値を返すメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandles.dropArguments(MethodHandle target, int pos, Class<?>... valueTypes)
いくつかのダミー引数を破棄してから指定された別のtargetメソッド・ハンドルを呼び出すメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandles.dropArguments(MethodHandle target, int pos, List<Class<?>> valueTypes)
いくつかのダミー引数を破棄してから指定された別のtargetメソッド・ハンドルを呼び出すメソッド・ハンドルを生成します。
|
MethodHandle |
MutableCallSite.dynamicInvoker()
このコール・サイトにリンクされているinvokedynamic命令と同等のメソッド・ハンドルを生成します。
|
abstract MethodHandle |
CallSite.dynamicInvoker()
このコール・サイトにリンクされているinvokedynamic命令と同等のメソッド・ハンドルを生成します。
|
MethodHandle |
VolatileCallSite.dynamicInvoker()
このコール・サイトにリンクされているinvokedynamic命令と同等のメソッド・ハンドルを生成します。
|
MethodHandle |
ConstantCallSite.dynamicInvoker()
このコール・サイトの永続的なターゲットを返します。
|
static MethodHandle |
MethodHandles.exactInvoker(MethodType type)
特殊なインボーカ・メソッド・ハンドルを生成します(これを使用すれば、指定された型の任意のメソッド・ハンドルを、
invokeExact を使用する場合と同様に呼び出すことができる)。 |
static MethodHandle |
MethodHandles.explicitCastArguments(MethodHandle target, MethodType newType)
指定されたメソッド・ハンドルの型を新しい型に適応させるために、引数と戻り値の型の変換をペア単位で行うメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandles.filterArguments(MethodHandle target, int pos, MethodHandle... filters)
ターゲット・メソッド・ハンドルを適応させるため、その1つ以上の引数をそれぞれ固有の単項フィルタ関数を使って前処理したあと、前処理を行った各引数を対応するフィルタ関数の結果で置き換えてターゲットを呼び出します。
|
static MethodHandle |
MethodHandles.filterReturnValue(MethodHandle target, MethodHandle filter)
ターゲット・メソッド・ハンドルを適応させるため、その戻り値(存在する場合)をフィルタ(別のメソッド・ハンドル)で後処理します。
|
MethodHandle |
MethodHandles.Lookup.findConstructor(Class<?> refc, MethodType type)
指定された型のコンストラクタを使ってオブジェクトの作成と初期化を行うメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandles.Lookup.findGetter(Class<?> refc, String name, Class<?> type)
非staticフィールドに対する読取りアクセスを提供するメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandles.Lookup.findSetter(Class<?> refc, String name, Class<?> type)
非staticフィールドに対する書込みアクセスを提供するメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandles.Lookup.findSpecial(Class<?> refc, String name, MethodType type, Class<?> specialCaller)
仮想メソッドの早期にバインドされるメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandles.Lookup.findStatic(Class<?> refc, String name, MethodType type)
staticメソッドのメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandles.Lookup.findStaticGetter(Class<?> refc, String name, Class<?> type)
staticフィールドに対する読取りアクセスを提供するメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandles.Lookup.findStaticSetter(Class<?> refc, String name, Class<?> type)
staticフィールドに対する書込みアクセスを提供するメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandles.Lookup.findVirtual(Class<?> refc, String name, MethodType type)
仮想メソッドのメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandles.foldArguments(MethodHandle target, MethodHandle combiner)
ターゲット・メソッド・ハンドルを適応させるため、その引数のいくつかを前処理したあと、前処理の結果を元の一連の引数内に挿入してターゲットを呼び出します。
|
MethodHandle |
MutableCallSite.getTarget()
コール・サイトのターゲット・メソッドを返しますが、これは、
MutableCallSite の通常のフィールドのように振る舞います。 |
abstract MethodHandle |
CallSite.getTarget()
このコール・サイトの特定のクラスで定義された動作に従って、コール・サイトのターゲット・メソッドを返します。
|
MethodHandle |
VolatileCallSite.getTarget()
コール・サイトのターゲット・メソッドを返しますが、これは、
VolatileCallSite のvolatile フィールドのように振る舞います。 |
MethodHandle |
ConstantCallSite.getTarget()
コール・サイトのターゲット・メソッドを返しますが、これは、
ConstantCallSite のfinal フィールドのように振る舞います。 |
MethodHandle |
SwitchPoint.guardWithTest(MethodHandle target, MethodHandle fallback)
常にターゲット、フォール・バックのいずれかに委譲するメソッド・ハンドルを返します。
|
static MethodHandle |
MethodHandles.guardWithTest(MethodHandle test, MethodHandle target, MethodHandle fallback)
テスト(boolean値のメソッド・ハンドル)で保護することでターゲット・メソッド・ハンドルを適応させるメソッド・ハンドルを作成します。
|
static MethodHandle |
MethodHandles.identity(Class<?> type)
呼出し時に唯一の引数の値を返すメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandles.insertArguments(MethodHandle target, int pos, Object... values)
ターゲット・メソッド・ハンドルの呼出しの前に、1つ以上のバインド引数をメソッド・ハンドルに提供します。
|
static MethodHandle |
MethodHandles.invoker(MethodType type)
特殊なインボーカ・メソッド・ハンドルを生成します(これを使用すれば、指定された型と互換性のある任意のメソッド・ハンドルを、
invoke を使用する場合と同様に呼び出すことができる)。 |
static MethodHandle |
MethodHandles.permuteArguments(MethodHandle target, MethodType newType, int... reorder)
引数の順序を変更することによって、指定されたメソッド・ハンドルの呼出し順序を新しい型に適応させるメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandles.spreadInvoker(MethodType type, int leadingArgCount)
指定された
type の任意のメソッド・ハンドルを呼び出すメソッド・ハンドルを生成しますが、その際、指定された数の末尾の引数が単一の末尾のObject[] 配列で置き換えられます。 |
static MethodHandle |
MethodHandles.throwException(Class<?> returnType, Class<? extends Throwable> exType)
指定された
exType の例外をスローするメソッド・ハンドルを生成します。 |
MethodHandle |
MethodHandles.Lookup.unreflect(Method m)
ルックアップ・クラスがアクセス権を持つ場合に、mへの直接メソッド・ハンドルを作成します。
|
MethodHandle |
MethodHandles.Lookup.unreflectConstructor(Constructor<?> c)
リフレクトされたコンストラクタのメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandles.Lookup.unreflectGetter(Field f)
リフレクトされたフィールドに対する読取りアクセスを提供するメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandles.Lookup.unreflectSetter(Field f)
リフレクトされたフィールドに対する書込みアクセスを提供するメソッド・ハンドルを生成します。
|
MethodHandle |
MethodHandles.Lookup.unreflectSpecial(Method m, Class<?> specialCaller)
リフレクトされたメソッドのメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandleProxies.wrapperInstanceTarget(Object x)
このラッパー・インスタンスの一意のメソッドと動作が同等であるターゲット・メソッド・ハンドルを生成または回復します。
|
修飾子と型 | メソッドと説明 |
---|---|
static <T> T |
MethodHandleProxies.asInterfaceInstance(Class<T> intfc, MethodHandle target)
指定されたメソッド・ハンドルに呼出しをリダイレクトする、指定された単一メソッド・インタフェースのインスタンスを生成します。
|
static MethodHandle |
MethodHandles.catchException(MethodHandle target, Class<? extends Throwable> exType, MethodHandle handler)
ターゲットのメソッド・ハンドルを例外ハンドラの内部で実行することによって、このターゲットを適応させるメソッド・ハンドルを作成します。
|
static MethodHandle |
MethodHandles.collectArguments(MethodHandle target, int pos, MethodHandle filter)
ターゲット・メソッド・ハンドルを、フィルタ(別のメソッド・ハンドル)でその引数のサブシーケンスを前処理することにより、適応させます。
|
static MethodHandle |
MethodHandles.dropArguments(MethodHandle target, int pos, Class<?>... valueTypes)
いくつかのダミー引数を破棄してから指定された別のtargetメソッド・ハンドルを呼び出すメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandles.dropArguments(MethodHandle target, int pos, List<Class<?>> valueTypes)
いくつかのダミー引数を破棄してから指定された別のtargetメソッド・ハンドルを呼び出すメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandles.explicitCastArguments(MethodHandle target, MethodType newType)
指定されたメソッド・ハンドルの型を新しい型に適応させるために、引数と戻り値の型の変換をペア単位で行うメソッド・ハンドルを生成します。
|
static MethodHandle |
MethodHandles.filterArguments(MethodHandle target, int pos, MethodHandle... filters)
ターゲット・メソッド・ハンドルを適応させるため、その1つ以上の引数をそれぞれ固有の単項フィルタ関数を使って前処理したあと、前処理を行った各引数を対応するフィルタ関数の結果で置き換えてターゲットを呼び出します。
|
static MethodHandle |
MethodHandles.filterArguments(MethodHandle target, int pos, MethodHandle... filters)
ターゲット・メソッド・ハンドルを適応させるため、その1つ以上の引数をそれぞれ固有の単項フィルタ関数を使って前処理したあと、前処理を行った各引数を対応するフィルタ関数の結果で置き換えてターゲットを呼び出します。
|
static MethodHandle |
MethodHandles.filterReturnValue(MethodHandle target, MethodHandle filter)
ターゲット・メソッド・ハンドルを適応させるため、その戻り値(存在する場合)をフィルタ(別のメソッド・ハンドル)で後処理します。
|
static MethodHandle |
MethodHandles.foldArguments(MethodHandle target, MethodHandle combiner)
ターゲット・メソッド・ハンドルを適応させるため、その引数のいくつかを前処理したあと、前処理の結果を元の一連の引数内に挿入してターゲットを呼び出します。
|
MethodHandle |
SwitchPoint.guardWithTest(MethodHandle target, MethodHandle fallback)
常にターゲット、フォール・バックのいずれかに委譲するメソッド・ハンドルを返します。
|
static MethodHandle |
MethodHandles.guardWithTest(MethodHandle test, MethodHandle target, MethodHandle fallback)
テスト(boolean値のメソッド・ハンドル)で保護することでターゲット・メソッド・ハンドルを適応させるメソッド・ハンドルを作成します。
|
static MethodHandle |
MethodHandles.insertArguments(MethodHandle target, int pos, Object... values)
ターゲット・メソッド・ハンドルの呼出しの前に、1つ以上のバインド引数をメソッド・ハンドルに提供します。
|
static CallSite |
LambdaMetafactory.metafactory(MethodHandles.Lookup caller, String invokedName, MethodType invokedType, MethodType samMethodType, MethodHandle implMethod, MethodType instantiatedMethodType)
適切な型適応および引数の部分評価の後、指定された
MethodHandle への委譲により、1つ以上のインタフェースを実装する単純な関数オブジェクトの作成を容易にします。 |
static MethodHandle |
MethodHandles.permuteArguments(MethodHandle target, MethodType newType, int... reorder)
引数の順序を変更することによって、指定されたメソッド・ハンドルの呼出し順序を新しい型に適応させるメソッド・ハンドルを生成します。
|
static <T extends Member> |
MethodHandles.reflectAs(Class<T> expected, MethodHandle target)
直接メソッド・ハンドルの未チェックの解読を実行します。
|
MethodHandleInfo |
MethodHandles.Lookup.revealDirect(MethodHandle target)
この参照オブジェクトまたは類似のオブジェクトによって作成された直接メソッド・ハンドルを解読します。
|
void |
MutableCallSite.setTarget(MethodHandle newTarget)
このコール・サイトのターゲット・メソッドを通常の変数として更新します。
|
abstract void |
CallSite.setTarget(MethodHandle newTarget)
このコール・サイトの特定のクラスで定義された動作に従って、このコール・サイトのターゲット・メソッドを更新します。
|
void |
VolatileCallSite.setTarget(MethodHandle newTarget)
このコール・サイトのターゲット・メソッドをvolatile変数として更新します。
|
void |
ConstantCallSite.setTarget(MethodHandle ignore)
常に
UnsupportedOperationException をスローします。 |
コンストラクタと説明 |
---|
ConstantCallSite(MethodHandle target)
永続的なターゲットを持つコール・サイトを作成します。
|
ConstantCallSite(MethodType targetType, MethodHandle createTargetHook)
永続的なターゲットを持つコール・サイトを作成します(コール・サイト自体にバインドされる場合があります)。
|
MutableCallSite(MethodHandle target)
初期ターゲット・メソッド・ハンドルを持つコール・サイト・オブジェクトを作成します。
|
VolatileCallSite(MethodHandle target)
ターゲットへのvolatileバインディングを持つコール・サイトを作成します。
|
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.