12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package com.sun.jdi.request;
27
28 import com.sun.jdi.ThreadReference;
29 import com.sun.jdi.event.EventQueue;
30 import com.sun.jdi.event.EventSet;
31 import com.sun.jdi.event.ThreadDeathEvent;
32 import jdk.internal.javac.PreviewFeature;
33
34 /**
35 * Request for notification when a thread terminates in the target VM.
36 * When an enabled ThreadDeathRequest is satisfied, an
37 * {@link EventSet event set} containing a
38 * {@link ThreadDeathEvent ThreadDeathEvent}
39 * will be placed on the
40 * {@link EventQueue EventQueue}.
41 * The collection of existing ThreadDeathRequests is
42 * managed by the {@link EventRequestManager}
43 *
44 * @see ThreadDeathEvent
45 * @see EventQueue
46 * @see EventRequestManager
47 *
48 * @author Robert Field
49 * @since 1.3
50 */
51 public interface ThreadDeathRequest extends EventRequest {
52
53 /**
54 * Restricts the events generated by this request to those in
55 * the given thread.
56 * @param thread the thread to filter on.
57 * @throws InvalidRequestStateException if this request is currently
58 * enabled or has been deleted.
59 * Filters may be added only to disabled requests.
60 */
61 void addThreadFilter(ThreadReference thread);
62
63 /**
64 * Restricts the events generated by this request to only
65 * <a href="{@docRoot}/java.base/java/lang/Thread.html#platform-threads">platform threads</a>.
66 *
67 * @implSpec
68 * The default implementation throws {@code UnsupportedOperationException}.
69 *
70 * @throws InvalidRequestStateException if this request is currently
71 * enabled or has been deleted
72 *
73 * @since 19
74 */
75 @PreviewFeature(feature = PreviewFeature.Feature.VIRTUAL_THREADS, reflective = true)
76 default void addPlatformThreadsOnlyFilter() {
77 throw new UnsupportedOperationException("Method not implemented");
78 }
79 }
|
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package com.sun.jdi.request;
27
28 import com.sun.jdi.ThreadReference;
29 import com.sun.jdi.event.EventQueue;
30 import com.sun.jdi.event.EventSet;
31 import com.sun.jdi.event.ThreadDeathEvent;
32
33 /**
34 * Request for notification when a thread terminates in the target VM.
35 * When an enabled ThreadDeathRequest is satisfied, an
36 * {@link EventSet event set} containing a
37 * {@link ThreadDeathEvent ThreadDeathEvent}
38 * will be placed on the
39 * {@link EventQueue EventQueue}.
40 * The collection of existing ThreadDeathRequests is
41 * managed by the {@link EventRequestManager}
42 *
43 * @see ThreadDeathEvent
44 * @see EventQueue
45 * @see EventRequestManager
46 *
47 * @author Robert Field
48 * @since 1.3
49 */
50 public interface ThreadDeathRequest extends EventRequest {
51
52 /**
53 * Restricts the events generated by this request to those in
54 * the given thread.
55 * @param thread the thread to filter on.
56 * @throws InvalidRequestStateException if this request is currently
57 * enabled or has been deleted.
58 * Filters may be added only to disabled requests.
59 */
60 void addThreadFilter(ThreadReference thread);
61
62 /**
63 * Restricts the events generated by this request to only
64 * <a href="{@docRoot}/java.base/java/lang/Thread.html#platform-threads">platform threads</a>.
65 *
66 * @implSpec
67 * The default implementation throws {@code UnsupportedOperationException}.
68 *
69 * @throws InvalidRequestStateException if this request is currently
70 * enabled or has been deleted
71 *
72 * @since 21
73 */
74 default void addPlatformThreadsOnlyFilter() {
75 throw new UnsupportedOperationException("Method not implemented");
76 }
77 }
|