org.kahina.core.data.tree
Class KahinaUnlayeredMemTree

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

public class KahinaUnlayeredMemTree
extends KahinaTree

A simple Kahina tree implementation which does not support layers.

See Also:
Serialized Form

Field Summary
protected  Map<Integer,List<Integer>> children
           
protected  Set<Integer> collapsed
           
protected  Map<Integer,String> edgeLabels
           
protected  Map<Integer,Integer> layers
           
protected  Map<Integer,String> nodeCaptions
           
protected  Map<Integer,Integer> parents
           
protected  Map<Integer,Integer> status
           
 
Fields inherited from class org.kahina.core.data.tree.KahinaTree
decider
 
Constructor Summary
KahinaUnlayeredMemTree()
           
KahinaUnlayeredMemTree(LayerDecider decider)
           
 
Method Summary
 void addChild(int parent, int child)
           
 void addChildAddListener(KahinaTreeChildAddListener listener)
           
 void addNode(int id, String caption, String label, int nodeStatus)
           
 int addNode(String caption, String label, int nodeStatus)
           
 void clear()
          Clears the tree model.
 void collapse(int nodeID)
           
protected  void collectLeaves(int nodeID, List<Integer> leaves)
           
 void decollapse(int nodeID)
           
 void decollapseAll()
           
 int getBestEquivalent(int nodeID, int layerID)
           
 List<Integer> getChildren(int nodeID)
           
 List<Integer> getChildren(int nodeID, int layerID, boolean stopAtCornerstones)
           
 String getEdgeLabel(int nodeID)
           
 int getLayer(int nodeID)
           
 List<Integer> getLeaves()
           
protected  int getNextFreeID()
           
 String getNodeCaption(int nodeID)
           
 int getNodeStatus(int nodeID)
           
 int getParent(int nodeID)
           
 int getParent(int nodeID, int layerID)
           
 int getRootID(int layerID)
           
 int getRootID(int layerID, int referenceNode)
           
 int getSize()
           
static KahinaTree importXML(Document dom)
           
 boolean isCollapsed(int nodeID)
           
 void removeChildAddListener(KahinaTreeChildAddListener listener)
           
 boolean removeLeaf(int id)
           
 void setEdgeLabel(int nodeID, String label)
           
 void setLayer(int nodeID, int layer)
           
 void setNodeCaption(int nodeID, String caption)
           
 void setNodeStatus(int nodeID, int newStatus)
           
 String toString()
           
 
Methods inherited from class org.kahina.core.data.tree.KahinaTree
exportXML, getLayerDecider, getPrimaryModel, getReferenceNode, getRootID, hasCollapsedAncestor, setLayerDecider, setPrimaryModel, setReferenceNode, setRootID, toggleCollapse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parents

protected Map<Integer,Integer> parents

children

protected Map<Integer,List<Integer>> children

nodeCaptions

protected Map<Integer,String> nodeCaptions

edgeLabels

protected Map<Integer,String> edgeLabels

status

protected Map<Integer,Integer> status

collapsed

protected Set<Integer> collapsed

layers

protected Map<Integer,Integer> layers
Constructor Detail

KahinaUnlayeredMemTree

public KahinaUnlayeredMemTree()

KahinaUnlayeredMemTree

public KahinaUnlayeredMemTree(LayerDecider decider)
Method Detail

getRootID

public int getRootID(int layerID)
Specified by:
getRootID in class KahinaTree

getRootID

public int getRootID(int layerID,
                     int referenceNode)
Specified by:
getRootID in class KahinaTree

addChild

public void addChild(int parent,
                     int child)
Specified by:
addChild in class KahinaTree

addChildAddListener

public void addChildAddListener(KahinaTreeChildAddListener listener)
Specified by:
addChildAddListener in class KahinaTree

removeChildAddListener

public void removeChildAddListener(KahinaTreeChildAddListener listener)
Specified by:
removeChildAddListener in class KahinaTree

getParent

public int getParent(int nodeID,
                     int layerID)
Specified by:
getParent in class KahinaTree

getBestEquivalent

public int getBestEquivalent(int nodeID,
                             int layerID)
Specified by:
getBestEquivalent in class KahinaTree

getLayer

public int getLayer(int nodeID)
Specified by:
getLayer in class KahinaTree

setLayer

public void setLayer(int nodeID,
                     int layer)
Specified by:
setLayer in class KahinaTree

getParent

public int getParent(int nodeID)
Specified by:
getParent in class KahinaTree

getNodeCaption

public String getNodeCaption(int nodeID)
Specified by:
getNodeCaption in class KahinaTree

setNodeCaption

public void setNodeCaption(int nodeID,
                           String caption)
Specified by:
setNodeCaption in class KahinaTree

getEdgeLabel

public String getEdgeLabel(int nodeID)
Specified by:
getEdgeLabel in class KahinaTree

setEdgeLabel

public void setEdgeLabel(int nodeID,
                         String label)
Specified by:
setEdgeLabel in class KahinaTree

getNodeStatus

public int getNodeStatus(int nodeID)
Specified by:
getNodeStatus in class KahinaTree

setNodeStatus

public void setNodeStatus(int nodeID,
                          int newStatus)
Specified by:
setNodeStatus in class KahinaTree

getChildren

public List<Integer> getChildren(int nodeID)
Specified by:
getChildren in class KahinaTree

getChildren

public List<Integer> getChildren(int nodeID,
                                 int layerID,
                                 boolean stopAtCornerstones)
Specified by:
getChildren in class KahinaTree

getLeaves

public List<Integer> getLeaves()
Overrides:
getLeaves in class KahinaTree

collectLeaves

protected void collectLeaves(int nodeID,
                             List<Integer> leaves)
Specified by:
collectLeaves in class KahinaTree

isCollapsed

public boolean isCollapsed(int nodeID)
Specified by:
isCollapsed in class KahinaTree

collapse

public void collapse(int nodeID)
Specified by:
collapse in class KahinaTree

decollapse

public void decollapse(int nodeID)
Specified by:
decollapse in class KahinaTree

decollapseAll

public void decollapseAll()
Specified by:
decollapseAll in class KahinaTree

addNode

public int addNode(String caption,
                   String label,
                   int nodeStatus)
Specified by:
addNode in class KahinaTree

getNextFreeID

protected int getNextFreeID()

clear

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

Overrides:
clear in class KahinaTree

getSize

public int getSize()
Specified by:
getSize in class KahinaTree

importXML

public static KahinaTree importXML(Document dom)

addNode

public void addNode(int id,
                    String caption,
                    String label,
                    int nodeStatus)
Specified by:
addNode in class KahinaTree

toString

public String toString()
Overrides:
toString in class Object

removeLeaf

public boolean removeLeaf(int id)
Specified by:
removeLeaf in class KahinaTree