Null object as a singleton #50

This commit is contained in:
Ilkka Seppala
2015-04-24 22:01:08 +03:00
parent 19d653c13c
commit 89e6692ba8
4 changed files with 118 additions and 99 deletions
@@ -1,33 +1,44 @@
package com.iluwatar;
/**
*
* Null Object implementation for binary tree node.
*
*/
public class NullNode implements Node {
@Override
public int getTreeSize() {
return 0;
}
@Override
public Node getLeft() {
return null;
}
@Override
public Node getRight() {
return null;
}
@Override
public String getName() {
return null;
}
@Override
public void walk() {
}
}
package com.iluwatar;
/**
*
* Null Object implementation for binary tree node.
*
* Implemented as Singleton, since all the NullNodes are the same.
*
*/
public class NullNode implements Node {
private static NullNode instance = new NullNode();
private NullNode() {
}
public static NullNode getInstance() {
return instance;
}
@Override
public int getTreeSize() {
return 0;
}
@Override
public Node getLeft() {
return null;
}
@Override
public Node getRight() {
return null;
}
@Override
public String getName() {
return null;
}
@Override
public void walk() {
}
}