001 package net.sf.tacos.model;
002
003 import java.util.Collection;
004
005 /**
006 * @author phraktle
007 */
008 public interface ITreeContentProvider extends IContentProvider {
009
010 /**
011 * Returns all child elements of a parent. The returned collection is not
012 * modified by the viewer.
013 *
014 * @param parentElement
015 * @return Collection of child nodes (never null)
016 */
017 public Collection getChildren(Object parentElement);
018
019 /**
020 * @param parentElement
021 * @return
022 */
023 public boolean hasChildren(Object parentElement);
024
025 /**
026 * Returns the parent of the given element, or <code>null</code> if the
027 * the parent can't be determined. Revealing a specific element will not
028 * work in this case.
029 *
030 * @param childElement
031 * @return parent or null
032 */
033 public Object getParent(Object childElement);
034 }