パッケージ | 説明 |
---|---|
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.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 |
VolatileCallSite.dynamicInvoker()
このコールサイトにリンクされている invokedynamic 命令と同等のメソッドハンドルを生成します。
|
MethodHandle |
MutableCallSite.dynamicInvoker()
このコールサイトにリンクされている invokedynamic 命令と同等のメソッドハンドルを生成します。
|
MethodHandle |
ConstantCallSite.dynamicInvoker()
このコールサイトの永続的なターゲットを返します。
|
abstract MethodHandle |
CallSite.dynamicInvoker()
このコールサイトにリンクされている invokedynamic 命令と同等のメソッドハンドルを生成します。
|
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)
caller の invokespecial 命令から呼び出された場合と同じ効果を持つ、仮想メソッドの早期バインドメソッドハンドルを生成します。 |
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 |
VolatileCallSite.getTarget()
コールサイトのターゲットメソッドを返しますが、これは、
VolatileCallSite の volatile フィールドのように振る舞います。 |
MethodHandle |
MutableCallSite.getTarget()
コールサイトのターゲットメソッドを返しますが、これは、
MutableCallSite の通常のフィールドのように振る舞います。 |
MethodHandle |
ConstantCallSite.getTarget()
コールサイトのターゲットメソッドを返しますが、これは、
ConstantCallSite の final フィールドのように振る舞います。 |
abstract MethodHandle |
CallSite.getTarget()
このコールサイトの特定のクラスで定義された動作に従って、コールサイトのターゲットメソッドを返します。
|
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.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 MethodHandle |
MethodHandles.permuteArguments(MethodHandle target, MethodType newType, int... reorder)
引数の順序を変更することによって、指定されたメソッドハンドルの呼び出し順序を新しい型に適応させるメソッドハンドルを生成します。
|
void |
VolatileCallSite.setTarget(MethodHandle newTarget)
このコールサイトのターゲットメソッドを volatile 変数として更新します。
|
void |
MutableCallSite.setTarget(MethodHandle newTarget)
このコールサイトのターゲットメソッドを通常の変数として更新します。
|
void |
ConstantCallSite.setTarget(MethodHandle ignore)
常に
UnsupportedOperationException をスローします。 |
abstract void |
CallSite.setTarget(MethodHandle newTarget)
このコールサイトの特定のクラスで定義された動作に従って、このコールサイトのターゲットメソッドを更新します。
|
コンストラクタと説明 |
---|
ConstantCallSite(MethodHandle target)
永続的なターゲットを持つコールサイトを作成します。
|
ConstantCallSite(MethodType targetType, MethodHandle createTargetHook)
永続的なターゲットを持つコールサイトを作成します (コールサイト自体にバインドされる場合があります)。
|
MutableCallSite(MethodHandle target)
初期ターゲットメソッドハンドルを持つコールサイトオブジェクトを作成します。
|
VolatileCallSite(MethodHandle target)
ターゲットへの volatile バインディングを持つコールサイトを作成します。
|
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.