Интерфейс InvocationHandler

Все известные реализующие классы:
CompositeDataInvocationHandler, EventHandler, MBeanServerInvocationHandler, RemoteObjectInvocationHandler
public interface InvocationHandler

InvocationHandler — это интерфейс, реализуемый обработчиком вызовов экземпляра прокси.

Каждый экземпляр прокси имеет связанный с ним обработчик вызовов. Когда метод вызывается на экземпляре прокси, вызов метода кодируется и передаётся обработчику вызовов в метод invoke.

С:
1.3
См. также:
Proxy

Методы

Модификатор и тип Метод Описание
Object invoke​(Object proxy, Method method, Object[] args)

Обрабатывает вызов метода на экземпляре прокси и возвращает результат.

Методы

invoke

Object invoke(Object proxy,
              Method method,
              Object[] args)
       throws Throwable

Обрабатывает вызов метода на экземпляре прокси и возвращает результат. Этот метод вызывается у обработчика вызовов, когда на экземпляре прокси, с которым он связан, вызывается метод.

Параметры:
proxy — экземпляр прокси, на котором был вызван метод
method — экземпляр Method, соответствующий методу интерфейса, вызванному на экземпляре прокси. Класс-объявление объекта Method будет интерфейсом, в котором был объявлен метод, что может быть суперинтерфейсом интерфейса прокси, через который прокси-класс наследует метод.
args — массив объектов, содержащий значения аргументов, переданных при вызове метода на экземпляре прокси, или null, если метод интерфейса не принимает аргументов. Аргументы примитивных типов обернуты в экземпляры соответствующего класса-обертки для примитивных типов, таких как java.lang.Integer или java.lang.Boolean.
Возвращает:
значение, которое должно быть возвращено при вызове метода на экземпляре прокси. Если объявленный тип возвращаемого значения метода интерфейса — примитивный тип, то возвращаемое значение этого метода должно быть экземпляром соответствующего класса-обертки для примитивных типов; в противном случае — типом, присваиваемым объявленному типу возвращаемого значения. Если возвращаемое значение этого метода — null и тип возвращаемого значения метода интерфейса — примитивный, то при вызове метода на экземпляре прокси будет брошено исключение NullPointerException. Если возвращаемое значение этого метода по другим причинам несовместимо с объявленным типом возвращаемого значения метода интерфейса, как описано выше, при вызове метода на экземпляре прокси будет брошено исключение ClassCastException.
Исключения:
Throwable — исключение, которое должно быть брошено при вызове метода на экземпляре прокси. Тип исключения должен быть присваиваем любому из типов исключений, объявленных в throws пункте метода интерфейса, или исключениям общего типа java.lang.RuntimeException или java.lang.Error. Если этим методом выбрасывается проверяемое исключение, которое не присваивается ни одному из типов исключений, объявленных в throws пункте метода интерфейса, то при вызове метода на экземпляре прокси будет брошено исключение UndeclaredThrowableException, содержащее исключение, которое было брошено этим методом.
См. также:
UndeclaredThrowableException

© 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/java.base/java/lang/reflect/InvocationHandler.html

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