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; /** * Constructor */ 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(); } } }