/*******************************************************************************
* Copyright (c) 2001, 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 Jens Lukowski/Innoopract - initial renaming/restructuring
*******************************************************************************/
package org.eclipse.wst.sse.ui.internal.contentoutline;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
/**
* Adapter interface to provide JFace-style children and property information. The factory returning
* this adapter is expected to implement IJFaceNodeAdapterFactory
*/
public interface IJFaceNodeAdapter extends INodeAdapter {
/**
* Returns the child elements of the given parent element. The result is not modified by the
* viewer.
*
* @param node the parent object
* @return an array of child elements
*/
public Object[] getChildren(Object node);
/**
* Returns an enumeration with the elements belonging to the passed element. These are the top
* level items in a list, tree, table, etc...
*/
public Object[] getElements(Object node);
/**
* Fetches the label image specific to this object instance.
*/
public Image getLabelImage(Object node);
/**
* Fetches the label text specific to this object instance.
*/
public String getLabelText(Object node);
public Object getParent(Object node);
public boolean hasChildren(Object node);
}