Класс DefaultInternalObjectFilter

Все реализуемые интерфейсы:
MethodHandleTransformer
public class DefaultInternalObjectFilter
extends Object
implements MethodHandleTransformer

Реализация по умолчанию для DynamicLinkerFactory.setInternalObjectsFilter(MethodHandleTransformer), которая делегирует пару фильтрующих методов обращению. Она принимает метод-обращение типа Object(Object) для фильтрации значений параметров и другой метод-обращение того же типа для фильтрации возвращаемых значений. Она применяет их как фильтры параметров и возвращаемых значений к методам-обращениям, переданным в ее метод MethodHandleTransformer.transform(MethodHandle), для тех параметров и возвращаемых значений, которые объявлены как типа Object. Также обрабатывает method handles that support variable arity calls с последним Object[] параметром. Можно представить фильтр параметров как метод обертки для экспонирования внутренних объектов runtime, обернутых в адаптер с некоторым общедоступным интерфейсом, а фильтр возвращаемых значений – как обратный метод распаковки.

Конструкторы

Конструктор Описание
DefaultInternalObjectFilter​(MethodHandle parameterFilter, MethodHandle returnFilter)

Создает новый фильтр.

Методы

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе jdk.dynalink.linker.MethodHandleTransformer

transform

Подробности конструкторов

DefaultInternalObjectFilter

public DefaultInternalObjectFilter(MethodHandle parameterFilter,
                                   MethodHandle returnFilter)

Создает новый фильтр.

Параметры:
parameterFilter - фильтр для параметров метода. Должен быть типа Object(Object), или null.
returnFilter - фильтр для возвращаемых значений. Должен быть типа Object(Object), или null.
Исключения:
IllegalArgumentException - если один или оба фильтра не являются ожидаемого типа.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.dynalink/jdk/dynalink/linker/support/DefaultInternalObjectFilter.html

Spec-Zone .ru
спецификации, руководства, описания, API