pal.tree
Interface Node

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
AttributeNode
All Known Implementing Classes:
SimpleNode

public interface Node
extends java.io.Serializable

interface for a node (includes branch) in a binary/non-binary rooted/unrooted tree


Method Summary
 void addChild(Node c)
          add new child node
 double getBranchLength()
          Get the length of the branch attaching this node to its parent.
 double getBranchLengthSE()
          Get the length SE of the branch attaching this node to its parent.
 Node getChild(int n)
          get child node
 int getChildCount()
          Returns the number of children this node has.
 Identifier getIdentifier()
          Returns the identifier for this node.
 double getNodeHeight()
          Get the height of this node relative to the most recent node.
 int getNumber()
          return the index of this node
 Node getParent()
          Returns the parent node of this node.
 byte[] getSequence()
          Returns the sequence at this node, in the form an array of bytes.
 void insertChild(Node c, int pos)
          add new child node (insertion at a specific position)
 boolean isLeaf()
          check whether this node is an external node
 boolean isRoot()
          check whether this node is a root node
 Node removeChild(int n)
          remove child
 void setBranchLength(double value)
          Set the length of the branch attaching this node to its parent.
 void setBranchLengthSE(double value)
          Set the length SE of the branch attaching this node to its parent.
 void setChild(int n, Node node)
          set child node
 void setIdentifier(Identifier id)
          Set identifier for this node.
 void setNodeHeight(double value)
          Set the height of this node relative to the most recent node.
 void setNodeHeight(double value, boolean adjustChildBranchLengths)
          Set the height of this node relative to the most recent node.
 void setNumber(int number)
          set the index of this node
 void setParent(Node node)
          Set the parent node of this node.
 void setSequence(byte[] array)
          Sets the sequence using an array of bytes.
 

Method Detail

getParent

public Node getParent()
Returns the parent node of this node.


setParent

public void setParent(Node node)
Set the parent node of this node.


getSequence

public byte[] getSequence()
Returns the sequence at this node, in the form an array of bytes.


setSequence

public void setSequence(byte[] array)
Sets the sequence using an array of bytes.


getNumber

public int getNumber()
return the index of this node


setNumber

public void setNumber(int number)
set the index of this node


getBranchLength

public double getBranchLength()
Get the length of the branch attaching this node to its parent.


setBranchLength

public void setBranchLength(double value)
Set the length of the branch attaching this node to its parent.


getBranchLengthSE

public double getBranchLengthSE()
Get the length SE of the branch attaching this node to its parent.


setBranchLengthSE

public void setBranchLengthSE(double value)
Set the length SE of the branch attaching this node to its parent.


getNodeHeight

public double getNodeHeight()
Get the height of this node relative to the most recent node.


setNodeHeight

public void setNodeHeight(double value)
Set the height of this node relative to the most recent node.


setNodeHeight

public void setNodeHeight(double value,
                          boolean adjustChildBranchLengths)
Set the height of this node relative to the most recent node.

Parameters:
adjustChildBranchLengths - if true

getIdentifier

public Identifier getIdentifier()
Returns the identifier for this node.


setIdentifier

public void setIdentifier(Identifier id)
Set identifier for this node.


getChildCount

public int getChildCount()
Returns the number of children this node has.


isLeaf

public boolean isLeaf()
check whether this node is an external node

Returns:
result (true or false)

isRoot

public boolean isRoot()
check whether this node is a root node

Returns:
result (true or false)

getChild

public Node getChild(int n)
get child node

Parameters:
n - number of child
Returns:
child node

setChild

public void setChild(int n,
                     Node node)
set child node

Parameters:
n - number

addChild

public void addChild(Node c)
add new child node

Parameters:
c - new child node

insertChild

public void insertChild(Node c,
                        int pos)
add new child node (insertion at a specific position)

Parameters:
c - new child node + @param pos position

removeChild

public Node removeChild(int n)
remove child

Parameters:
n - number of child to be removed