Module jdk.dynalink

Class 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的参数和返回值上。还处理支持支持可变参数调用的方法句柄,带有最后一个Object[]参数。您可以广义地将参数过滤器视为一个包装方法,用于将内部运行时对象暴露为带有一些公共接口的适配器包装,将返回值过滤器视为其逆向解包方法。
  • Constructor Details

    • DefaultInternalObjectFilter

      public DefaultInternalObjectFilter(MethodHandle parameterFilter, MethodHandle returnFilter)
      创建一个新的过滤器。
      参数:
      parameterFilter - 方法参数的过滤器。必须是Object(Object)类型,或null
      returnFilter - 返回值的过滤器。必须是Object(Object)类型,或null
      抛出:
      IllegalArgumentException - 如果一个或两个过滤器不是预期类型。
  • Method Details