pal.tree
Class Tree.TreeBase

java.lang.Object
  extended by pal.tree.Tree.TreeBase
All Implemented Interfaces:
java.io.Serializable, IdGroup, Report, Units, UnitsProvider, Tree
Enclosing interface:
Tree

public abstract static class Tree.TreeBase
extends java.lang.Object
implements Tree, Report, Units, java.io.Serializable

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface pal.tree.Tree
Tree.TreeBase
 
Nested classes/interfaces inherited from interface pal.misc.IdGroup
IdGroup.Utils
 
Field Summary
 
Fields inherited from interface pal.misc.Units
DAYS, EXPECTED_SUBSTITUTIONS, GENERATIONS, MONTHS, SAMPLE, SHORT_UNIT_NAMES, UNIT_NAMES, UNKNOWN, YEARS
 
Constructor Summary
protected Tree.TreeBase()
          constructor
protected Tree.TreeBase(Node theRoot)
          constructor
protected Tree.TreeBase(Tree.TreeBase tree, Node newRoot)
          clone constructor
 
Method Summary
 void createNodeList()
          count and list external and internal nodes and compute heights of each node
 Node findNode(int num)
          return node with number num (as displayed in ASCII tree)
 java.lang.Object getAttribute(Node node, java.lang.String name)
           
 Node getExternalNode(int i)
          Returns the ith external node.
 int getExternalNodeCount()
          Returns the number of external nodes.
 int getIdCount()
          Returns the number of identifiers in this group
 Identifier getIdentifier(int i)
          Returns the ith identifier.
 Node getInternalNode(int i)
          Returns the ith internal node.
 int getInternalNodeCount()
          Returns the number of internal nodes.
 Node getRoot()
          Returns the root node of this tree.
 int getUnits()
          Return the units that this tree is expressed in.
 void report(java.io.PrintWriter out)
          print human readable report (e.g., on parameters and associated model)
 void reroot(int num)
          make node with number num to root node
 void reroot(Node node)
          make provided node the root node
 void setAttribute(Node node, java.lang.String name, java.lang.Object value)
          Sets an named attribute for a given node.
 void setIdentifier(int i, Identifier id)
          Sets the ith identifier.
 void setRoot(Node theRoot)
          Called by subclasses that can't give root at time of construction (of this class)
protected  void setSetupLengthsAndHeights(boolean value)
          Set whether or not this class should call methods to adjust either heights or lengths automatically
 void setUnits(int units)
          Sets the units that this tree is expressed in.
 java.lang.String toString()
           
 int whichIdNumber(java.lang.String s)
          returns the index of the identifier with the given name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface pal.tree.Tree
getCopy
 

Constructor Detail

Tree.TreeBase

protected Tree.TreeBase(Node theRoot)
constructor

Parameters:
theRoot - the node to base tree on

Tree.TreeBase

protected Tree.TreeBase()
constructor


Tree.TreeBase

protected Tree.TreeBase(Tree.TreeBase tree,
                        Node newRoot)
clone constructor

Method Detail

setRoot

public void setRoot(Node theRoot)
Called by subclasses that can't give root at time of construction (of this class)

Specified by:
setRoot in interface Tree
Parameters:
theRoot - the root node of the tree to construct.

getUnits

public final int getUnits()
Return the units that this tree is expressed in.

Specified by:
getUnits in interface UnitsProvider
Specified by:
getUnits in interface Tree
Returns:
the units relating to this object.

setUnits

public final void setUnits(int units)
Sets the units that this tree is expressed in.


getExternalNodeCount

public final int getExternalNodeCount()
Returns the number of external nodes.

Specified by:
getExternalNodeCount in interface Tree
Returns:
a count of the number of external nodes (tips) in this tree.

getExternalNode

public final Node getExternalNode(int i)
Returns the ith external node.

Specified by:
getExternalNode in interface Tree
Returns:
the ith external node in the tree.

getInternalNodeCount

public final int getInternalNodeCount()
Returns the number of internal nodes.

Specified by:
getInternalNodeCount in interface Tree
Returns:
a count of the number of internal nodes (and hence clades) in this tree.

getInternalNode

public final Node getInternalNode(int i)
Returns the ith internal node.

Specified by:
getInternalNode in interface Tree
Returns:
the ith internal node in the tree.

getRoot

public final Node getRoot()
Returns the root node of this tree.

Specified by:
getRoot in interface Tree
Returns:
the root node of this tree.

findNode

public Node findNode(int num)
return node with number num (as displayed in ASCII tree)

Parameters:
num - number of node
Returns:
node

createNodeList

public void createNodeList()
count and list external and internal nodes and compute heights of each node

Specified by:
createNodeList in interface Tree

setSetupLengthsAndHeights

protected void setSetupLengthsAndHeights(boolean value)
Set whether or not this class should call methods to adjust either heights or lengths automatically


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

setAttribute

public void setAttribute(Node node,
                         java.lang.String name,
                         java.lang.Object value)
Sets an named attribute for a given node.

Specified by:
setAttribute in interface Tree
Parameters:
node - the node whose attribute is being set.
name - the name of the attribute.
value - the new value of the attribute.

getAttribute

public java.lang.Object getAttribute(Node node,
                                     java.lang.String name)
Specified by:
getAttribute in interface Tree
Parameters:
node - the node being interrogated.
name - the name of the attribute of interest.
Returns:
an object representing the named attributed for the numbered node.

reroot

public void reroot(int num)
make node with number num to root node

Parameters:
num - number of node

reroot

public void reroot(Node node)
make provided node the root node

Parameters:
node - the node to make the root.

getIdCount

public int getIdCount()
Description copied from interface: IdGroup
Returns the number of identifiers in this group

Specified by:
getIdCount in interface IdGroup

getIdentifier

public Identifier getIdentifier(int i)
Description copied from interface: IdGroup
Returns the ith identifier.

Specified by:
getIdentifier in interface IdGroup

setIdentifier

public void setIdentifier(int i,
                          Identifier id)
Description copied from interface: IdGroup
Sets the ith identifier.

Specified by:
setIdentifier in interface IdGroup

whichIdNumber

public int whichIdNumber(java.lang.String s)
Description copied from interface: IdGroup
returns the index of the identifier with the given name.

Specified by:
whichIdNumber in interface IdGroup

report

public void report(java.io.PrintWriter out)
Description copied from interface: Report
print human readable report (e.g., on parameters and associated model)

Specified by:
report in interface Report
Parameters:
out - output stream