001 package net.sf.tacos.components.tree;
002
003 import java.io.Serializable;
004
005 /**
006 * @author phraktle
007 */
008 public interface ITreeManager {
009
010 /**
011 * Whether or not node expanded
012 * @param element
013 * @return
014 */
015 public boolean isExpanded(Object element);
016
017 /**
018 * Checks expanded based on key
019 * @param key
020 * @return
021 */
022 public boolean isExpandedKey(Serializable key);
023
024 /**
025 * Sets the element to expanded
026 * @param element
027 * @param expand
028 */
029 public void setExpanded(Object element, boolean expand);
030
031 /**
032 * Sets expanded based on key
033 * @param key
034 * @param expand
035 */
036 public void setExpandedKey(Serializable key, boolean expand);
037
038 /**
039 * Collapses all nodes.
040 */
041 public void collapseAll();
042
043 /**
044 * Expands all
045 *
046 */
047 public void expandAll();
048
049 /**
050 * Reveals the object in the tree by adding it and any parents required to
051 * reveal it to the current {@link Tree}s state.
052 *
053 * @param element
054 * @return The top level parent element that had to be revealed in order to
055 * make this component visible, otherwise should return the element
056 * passed in.
057 */
058 public Object reveal(Object element);
059
060 }