blob: 07726ec34271c07a2362a542668a735ab2fa0540 [file] [log] [blame]
/*******************************************************************************
* 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);
}