/******************************************************************************* * 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); }