Интерфейс 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