モジュール jdk.dynalink

クラスDefaultInternalObjectFilter

java.lang.Object
jdk.dynalink.linker.support.DefaultInternalObjectFilter
すべての実装されたインタフェース:
MethodHandleTransformer

public class DefaultInternalObjectFilter extends Object implements MethodHandleTransformer
フィルタリング・メソッド・ハンドルのペアに委任するDynamicLinkerFactory.setInternalObjectsFilter(MethodHandleTransformer)のデフォルト実装。 パラメータ値をフィルタリングするためのObject(Object)型のメソッド・ハンドルと、戻り値をフィルタリングするための同じ型の別のメソッド・ハンドルを取ります。 transform(MethodHandle)メソッドに渡されるメソッド・ハンドルに対して、パラメータおよび戻り値フィルタとして、Object型を持つように宣言されるパラメータおよび戻り値に適用されます。 また、method handles that support variable arity callsを最後のObject[]パラメータで処理します。 パラメータ・フィルタは、一部のパブリック・インタフェースでアダプタにラップされた内部ランタイム・オブジェクトを公開するためのラッピング・メソッドであり、戻り値フィルタは逆ラッピング解除メソッドであると広く考えることができます。
  • コンストラクタの詳細

    • DefaultInternalObjectFilter

      public DefaultInternalObjectFilter(MethodHandle parameterFilter, MethodHandle returnFilter)
      新しいフィルタを作成します。
      パラメータ:
      parameterFilter - メソッド・パラメータのフィルタ。 Object(Object)またはnullである必要があります。
      returnFilter - 戻り値のフィルタ。 Object(Object)またはnullである必要があります。
      例外:
      IllegalArgumentException - いずれかまたは両方のフィルタが予期されるタイプでない場合。
  • メソッドの詳細