/******************************************************************************* * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.debug.core; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.model.IDebugElement; /** * Represents a thread group in the target VM. * * @since 3.2 * @noimplement This interface is not intended to be implemented by clients. * @noextend This interface is not intended to be extended by clients. */ public interface IJavaThreadGroup extends IDebugElement { /** * Returns the threads in this thread group. Does not include threads in * subgroups. * * @return threads in this group * @throws DebugException * if the request fails */ public IJavaThread[] getThreads() throws DebugException; /** * Returns whether this group contains any threads. * * @return whether this group contains any threads * @throws DebugException * if the request fails */ public boolean hasThreads() throws DebugException; /** * Returns the thread group this thread group is contained in or * <code>null</code> if none. * * @return parent thread group or <code>null</code> * @throws DebugException * if the request fails */ public IJavaThreadGroup getThreadGroup() throws DebugException; /** * Returns whether this thread group contains subgroups. * * @return whether this thread group contains subgroups * @throws DebugException * if the request fails */ public boolean hasThreadGroups() throws DebugException; /** * Returns immediate thread groups contained in this thread. Does not * include subgroups of immediate groups. * * @return thread groups contained in this group * @throws DebugException * if the request fails */ public IJavaThreadGroup[] getThreadGroups() throws DebugException; /** * Returns the name of this thread group. * * @return thread group name * @throws DebugException * if the request fails */ public String getName() throws DebugException; }