Module jdk.jdi

Interface EventRequest

    • Field Detail

      • SUSPEND_NONE

        static final int SUSPEND_NONE
        Suspend no threads when the event occurs
        See Also:
        Constant Field Values
      • SUSPEND_EVENT_THREAD

        static final int SUSPEND_EVENT_THREAD
        Suspend only the thread which generated the event when the event occurs
        See Also:
        Constant Field Values
      • SUSPEND_ALL

        static final int SUSPEND_ALL
        Suspend all threads when the event occurs
        See Also:
        Constant Field Values
    • Method Detail

      • isEnabled

        boolean isEnabled​()
        Determines if this event request is currently enabled.
        Returns:
        true if enabled; false otherwise.
      • setEnabled

        void setEnabled​(boolean val)
        Enables or disables this event request. While this event request is disabled, the event request will be ignored and the target VM will not be stopped if any of its threads reaches the event request. Disabled event requests still exist, and are included in event request lists such as EventRequestManager.breakpointRequests().
        Parameters:
        val - true if the event request is to be enabled; false otherwise.
        Throws:
        InvalidRequestStateException - if this request has been deleted.
        IllegalThreadStateException - if this is a StepRequest, val is true, and the thread named in the request has died or is not yet started.
      • addCountFilter

        void addCountFilter​(int count)
        Limit the requested event to be reported at most once after a given number of occurrences. The event is not reported the first count - 1 times this filter is reached. To request a one-off event, call this method with a count of 1.

        Once the count reaches 0, any subsequent filters in this request are applied. If none of those filters cause the event to be suppressed, the event is reported. Otherwise, the event is not reported. In either case subsequent events are never reported for this request.

        Parameters:
        count - the number of ocurrences before generating an event.
        Throws:
        InvalidRequestStateException - if this request is currently enabled or has been deleted. Filters may be added only to disabled requests.
        IllegalArgumentException - if count is less than one.
      • setSuspendPolicy

        void setSuspendPolicy​(int policy)
        Determines the threads to suspend when the requested event occurs in the target VM. Use SUSPEND_ALL to suspend all threads in the target VM (the default). Use SUSPEND_EVENT_THREAD to suspend only the thread which generated the event. Use SUSPEND_NONE to suspend no threads.

        Thread suspensions through events have the same functionality as explicitly requested suspensions. See ThreadReference.suspend() and VirtualMachine.suspend() for details.

        Parameters:
        policy - the selected suspend policy.
        Throws:
        InvalidRequestStateException - if this request is currently enabled or has been deleted. Suspend policy may only be set in disabled requests.
        IllegalArgumentException - if the policy argument contains an illegal value.
      • suspendPolicy

        int suspendPolicy​()
        Returns a value which describes the threads to suspend when the requested event occurs in the target VM. The returned value is SUSPEND_ALL, SUSPEND_EVENT_THREAD, or SUSPEND_NONE.
        Returns:
        the current suspend mode for this request
      • putProperty

        void putProperty​(Object key,
                         Object value)
        Add an arbitrary key/value "property" to this request. The property can be used by a client of the JDI to associate application information with the request; These client-set properties are not used internally by the JDI.

        The get/putProperty methods provide access to a small per-instance map. This is not to be confused with Properties.

        If value is null this method will remove the property.

        See Also:
        getProperty(java.lang.Object)