blob: 9769e392ce3b7634850c94e7b1418c0a5f876cf0 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2007 IBM Corporation and others.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
*******************************************************************************/
package org.eclipse.dltk.core;
/**
* Common protocol for model elements that contain other model elements.
* <p>
* This interface is not intended to be implemented by clients.
* </p>
*/
public interface IParent {
/**
* Returns the immediate children of this element.
* Unless otherwise specified by the implementing element,
* the children are in no particular order.
*
* @exception ModelException if this element does not exist or if an
* exception occurs while accessing its corresponding resource
* @return the immediate children of this element
*/
IModelElement[] getChildren() throws ModelException;
/**
* Returns whether this element has one or more immediate children.
* This is a convenience method, and may be more efficient than
* testing whether <code>getChildren</code> is an empty array.
*
* @exception ModelException if this element does not exist or if an
* exception occurs while accessing its corresponding resource
* @return true if the immediate children of this element, false otherwise
*/
boolean hasChildren() throws ModelException;
}