blob: 7d1bb736aaca90fc2571b1253b3dd2c495e35fb4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2003, 2006 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.jst.servlet.ui.internal.navigator;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.swt.graphics.Image;
/**
*
* Provides a simple interface that is used to manipulate the rendering of Java elements to a format
* that is friendlier for Web Projects.
*
*/
public interface ICompressedNode {
/**
*
* @return The image to display for this node.
*/
public Image getImage();
/**
*
* @return The text label to display for this node.
*/
public String getLabel();
/**
*
* @param delegateContentProvider
* The content provider that should used for any children that I cannot provide
* children for.
* @return The children either from me or the delegateContentProvider.
*/
public Object[] getChildren(ITreeContentProvider delegateContentProvider);
/**
*
* @return The Java element associated with this node, if any.
*/
public IJavaElement getJavaElement();
}