Интерфейс MethodEntryRequest
- Все суперинтерфейсы:
EventRequest, Mirror
public interface MethodEntryRequest extends EventRequest
Запрос на получение уведомления о вызове метода в целевой виртуальной машине. Когда удовлетворяется условие включённого MethodEntryRequest,
event set, содержащий MethodEntryEvent, помещается в EventQueue. Коллекцией существующих MethodEntryRequest управляет EventRequestManager
- Начиная с:
- 1.3
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе EventRequest
SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
SUSPEND_ALL |
При возникновении события приостановить все потоки |
static final int |
SUSPEND_EVENT_THREAD |
При возникновении события приостановить только поток, вызвавший это событие |
static final int |
SUSPEND_NONE |
При возникновении события не приостанавливать потоки |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addClassExclusionFilter |
Ограничивает события, создаваемые этим запросом, так, чтобы в них включались только методы класса, имя которого не соответствует этому ограниченному регулярному выражению, например |
void |
addClassFilter |
Ограничивает события, создаваемые этим запросом, так, чтобы в них включались только методы заданного ссылочного типа или любого из его подтипов. |
void |
addClassFilter |
Ограничивает события, создаваемые этим запросом, так, чтобы в них включались только методы класса, имя которого соответствует этому ограниченному регулярному выражению. |
void |
addInstanceFilter |
Ограничивает события, создаваемые этим запросом, так, чтобы в них включались только те, в которых текущий выполняющийся экземпляр («this») является указанным объектом. |
void |
addThreadFilter |
Ограничивает события, создаваемые этим запросом, так, чтобы в них включались только события в указанном потоке. |
Методы, объявленные в интерфейсе EventRequest
addCountFilter, disable, enable, getProperty, isEnabled, putProperty, setEnabled, setSuspendPolicy, suspendPolicy | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addCountFilter |
Ограничивает число сообщений о запрошенном событии: оно будет сообщено не более одного раза после указанного количества наступлений. |
void |
disable() |
То же, что и setEnabled(false). |
void |
enable() |
То же, что и setEnabled(true). |
Object |
getProperty |
Возвращает значение свойства с указанным ключом. |
boolean |
isEnabled() |
Определяет, включён ли в данный момент этот запрос события. |
void |
putProperty |
Добавляет к этому запросу произвольное свойство «ключ/значение». |
void |
setEnabled |
Включает или отключает этот запрос события. |
void |
setSuspendPolicy |
Определяет, какие потоки приостанавливать при возникновении запрошенного события в целевой виртуальной машине. |
int |
suspendPolicy() |
Возвращает значение, описывающее, какие потоки приостанавливать при возникновении запрошенного события в целевой виртуальной машине. |
Методы, объявленные в интерфейсе Mirror
toString, virtualMachine | Модификатор и тип | Метод | Описание |
|---|---|---|
String |
toString() |
Возвращает строку с описанием этого зеркала |
VirtualMachine |
virtualMachine() |
Возвращает VirtualMachine, к которой относится это зеркало. |
Подробное описание методов
addThreadFilter
void addThreadFilter(ThreadReference thread)
Ограничивает события, создаваемые этим запросом, так, чтобы в них включались только события в указанном потоке.
- Параметры:
-
thread— поток, по которому выполняется фильтрация. - Исключения:
-
InvalidRequestStateException— если этот запрос в данный момент включён или был удалён. Фильтры можно добавлять только к отключённым запросам.
addClassFilter
void addClassFilter(ReferenceType refType)
Ограничивает события, создаваемые этим запросом, так, чтобы в них включались только методы заданного ссылочного типа или любого из его подтипов. Событие будет создано для любого местоположения в ссылочном типе, который можно безопасно привести к заданному ссылочному типу.
- Параметры:
-
refType— ссылочный тип, по которому выполняется фильтрация. - Исключения:
-
InvalidRequestStateException— если этот запрос в данный момент включён или был удалён. Фильтры можно добавлять только к отключённым запросам.
addClassFilter
void addClassFilter(String classPattern)
Ограничивает события, создаваемые этим запросом, так, чтобы в них включались только методы класса, имя которого соответствует этому ограниченному регулярному выражению. Регулярные выражения ограничены точными совпадениями и шаблонами, начинающимися с «*» или заканчивающимися на «*»; например, «*.Foo» или «java.*».
- Параметры:
-
classPattern— строка шаблона для фильтрации. - Исключения:
-
InvalidRequestStateException— если этот запрос в данный момент включён или был удалён. Фильтры можно добавлять только к отключённым запросам.
addClassExclusionFilter
void addClassExclusionFilter(String classPattern)
Ограничивает события, создаваемые этим запросом, так, чтобы в них включались только методы класса, имя которого не соответствует этому ограниченному регулярному выражению, например «java.*» или «*.Foo».
- Параметры:
-
classPattern— строка шаблона, относительно которой выполняется фильтрация. - Исключения:
-
InvalidRequestStateException— если этот запрос в данный момент включён или был удалён. Фильтры можно добавлять только к отключённым запросам.
addInstanceFilter
void addInstanceFilter(ObjectReference instance)
Ограничивает события, создаваемые этим запросом, так, чтобы в них включались только те, в которых текущий выполняющийся экземпляр («this») является указанным объектом.
Не все целевые системы поддерживают эту операцию. Используйте VirtualMachine.canUseInstanceFilters(), чтобы определить, поддерживается ли эта операция.
- Параметры:
-
instance— объект, который должен быть текущим экземпляром, чтобы пройти этот фильтр. - Исключения:
-
UnsupportedOperationException— если целевая виртуальная машина не поддерживает эту операцию. -
InvalidRequestStateException— если этот запрос в данный момент включён или был удалён. Фильтры можно добавлять только к отключённым запросам. - Начиная с:
- 1.4
© 1993, 2025, 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.