Files
java-design-patterns/null-object/src/main/java/com/iluwatar/nullobject/NodeImpl.java
T
2015-11-01 21:29:13 -05:00

51 lines
882 B
Java

package com.iluwatar.nullobject;
/**
*
* Implementation for binary tree's normal nodes.
*
*/
public class NodeImpl implements Node {
private final String name;
private final Node left;
private final Node right;
public NodeImpl(String name, Node left, Node right) {
this.name = name;
this.left = left;
this.right = right;
}
@Override
public int getTreeSize() {
return 1 + left.getTreeSize() + right.getTreeSize();
}
@Override
public Node getLeft() {
return left;
}
@Override
public Node getRight() {
return right;
}
@Override
public String getName() {
return name;
}
@Override
public void walk() {
System.out.println(name);
if (left.getTreeSize() > 0) {
left.walk();
}
if (right.getTreeSize() > 0) {
right.walk();
}
}
}