org.kahina.core.data.tree
Class KahinaTree

java.lang.Object
  extended by org.kahina.core.data.KahinaObject
      extended by org.kahina.core.data.tree.KahinaTree
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
KahinaUnlayeredMemTree

public abstract class KahinaTree
extends KahinaObject

See Also:
Serialized Form

Field Summary
protected  LayerDecider decider
           
 
Constructor Summary
KahinaTree(LayerDecider decider)
           
 
Method Summary
abstract  void addChild(int parent, int child)
           
abstract  void addNode(int id, String caption, String label, int nodeStatus)
           
abstract  int addNode(String caption, String label, int nodeStatus)
           
 void clear()
          Clears the tree model.
abstract  void collapse(int nodeID)
           
protected abstract  void collectLeaves(int nodeID, List<Integer> leaves)
           
abstract  void decollapse(int nodeID)
           
abstract  void decollapseAll()
           
 String exportXML()
           
abstract  int getBestEquivalent(int nodeID, int layer)
           
abstract  List<Integer> getChildren(int nodeID)
           
abstract  List<Integer> getChildren(int nodeID, int layer, boolean stopAtCornerstones)
           
abstract  String getEdgeLabel(int nodeID)
           
 LayerDecider getLayerDecider()
           
 List<Integer> getLeaves()
           
abstract  String getNodeCaption(int nodeID)
           
abstract  int getNodeStatus(int nodeID)
           
abstract  int getParent(int nodeID)
           
abstract  int getParent(int nodeID, int layer)
           
 KahinaTree getPrimaryModel()
           
 int getReferenceNode()
           
 int getRootID()
           
abstract  int getRootID(int layer)
           
abstract  int getSize()
           
 boolean hasCollapsedAncestor(int nodeID)
           
abstract  boolean isCollapsed(int nodeID)
           
abstract  void setEdgeLabel(int nodeID, String label)
           
 void setLayerDecider(LayerDecider decider)
           
abstract  void setNodeCaption(int nodeID, String caption)
           
abstract  void setNodeStatus(int nodeID, int status)
           
 void setPrimaryModel(KahinaTree primaryModel)
           
 void setReferenceNode(int referenceNode)
           
 void setRootID(int rootID)
           
 void toggleCollapse(int nodeID)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

decider

protected LayerDecider decider
Constructor Detail

KahinaTree

public KahinaTree(LayerDecider decider)
Method Detail

clear

public void clear()
Clears the tree model. Implementors should override this method to clear implementation-specific data, but make sure to call this implementation using super.clear().


getLayerDecider

public LayerDecider getLayerDecider()

setLayerDecider

public void setLayerDecider(LayerDecider decider)

addNode

public abstract void addNode(int id,
                             String caption,
                             String label,
                             int nodeStatus)

addNode

public abstract int addNode(String caption,
                            String label,
                            int nodeStatus)

decollapseAll

public abstract void decollapseAll()

decollapse

public abstract void decollapse(int nodeID)

collapse

public abstract void collapse(int nodeID)

isCollapsed

public abstract boolean isCollapsed(int nodeID)

getLeaves

public List<Integer> getLeaves()

collectLeaves

protected abstract void collectLeaves(int nodeID,
                                      List<Integer> leaves)

getChildren

public abstract List<Integer> getChildren(int nodeID)

getChildren

public abstract List<Integer> getChildren(int nodeID,
                                          int layer,
                                          boolean stopAtCornerstones)

getNodeStatus

public abstract int getNodeStatus(int nodeID)

setNodeStatus

public abstract void setNodeStatus(int nodeID,
                                   int status)

getEdgeLabel

public abstract String getEdgeLabel(int nodeID)

setEdgeLabel

public abstract void setEdgeLabel(int nodeID,
                                  String label)

getNodeCaption

public abstract String getNodeCaption(int nodeID)

setNodeCaption

public abstract void setNodeCaption(int nodeID,
                                    String caption)

getParent

public abstract int getParent(int nodeID,
                              int layer)

getBestEquivalent

public abstract int getBestEquivalent(int nodeID,
                                      int layer)

addChild

public abstract void addChild(int parent,
                              int child)

getRootID

public abstract int getRootID(int layer)

getSize

public abstract int getSize()

exportXML

public String exportXML()

getPrimaryModel

public KahinaTree getPrimaryModel()

setPrimaryModel

public void setPrimaryModel(KahinaTree primaryModel)

getReferenceNode

public int getReferenceNode()

setReferenceNode

public void setReferenceNode(int referenceNode)

getParent

public abstract int getParent(int nodeID)

hasCollapsedAncestor

public boolean hasCollapsedAncestor(int nodeID)

getRootID

public int getRootID()

setRootID

public void setRootID(int rootID)

toggleCollapse

public void toggleCollapse(int nodeID)