| /******************************************************************************* |
| * Copyright (c) 2000, 2008 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 Chisel Group, |
| * University of Victoria |
| ******************************************************************************/ |
| package org.eclipse.zest.core.viewers; |
| |
| /** |
| * A content provider for nested graphs. Any entity based content provider |
| * (IGraphEntityContentProvider or IGraphEntityRelationshipContentProvider) can |
| * also implement this interface. Any node that "hasChildren" will be rendered |
| * as a container. |
| * |
| * Note: Containers cannot contain other containers. |
| * |
| * @author irbull |
| */ |
| public interface INestedContentProvider { |
| |
| /** |
| * Does the current node have children? If so, it will be rendered as a |
| * container. |
| * |
| * @param element |
| * The current node |
| * @return True if it has children, false otherwise |
| */ |
| public boolean hasChildren(Object element); |
| |
| /** |
| * Gets the children of this node. This method will not be called if |
| * hasChildren returns false. |
| * |
| * @param element |
| * The current node |
| * @return The list of children for this node. |
| */ |
| public Object[] getChildren(Object element); |
| } |