Mercurial > hg > Members > shoshi > jungle > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/transaction/node/redBlackTree/EmptyTreeNode.java @ 329:2a0cb1f0ba4e
rename Error package
author | kono |
---|---|
date | Sat, 08 Jul 2017 21:05:55 +0900 |
parents | 1f929fe9c153 |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.redBlackTree; import jp.ac.u_ryukyu.ie.cr.jungle.data.treemap.Rotate; import jp.ac.u_ryukyu.ie.cr.jungle.data.treemap.TreeMap; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.jungle.util.jungleError.Error; import org.junit.Assert; import org.junit.Test; import java.nio.ByteBuffer; public class EmptyTreeNode extends ColorlessTreeNode { public EmptyTreeNode() { super(null, null, null, null, null); } public EmptyTreeNode(ByteBuffer value) { super(null, null, value, null, null); } @Override public ColorlessTreeNode left() { return new EmptyTreeNode(); } @Override public ColorlessTreeNode right() { return new EmptyTreeNode(); } @Override public TreeNode createNewNode() { return new EmptyTreeNode(); } @Override protected RebuildNode deleteNode() { return new RebuildNode(false, this); } @Override public Either<Error, TreeNode> appendRootNode() { return null; } @Override public int getHash() { return 0; } @Override public int compareTo(TreeNode o) { return 0; } @Override public boolean isRed() { return false; } @Override public boolean empty() { return true; } @Override protected ColorlessTreeNode insBalance() { return this; } @Override public Rotate checkRotate(Rotate side) { return Rotate.N; } @Override public ColorlessTreeNode createNode(TreeMap<String, ByteBuffer> newAttrs, String insertKey, ByteBuffer insertValue, ColorlessTreeNode left, ColorlessTreeNode right) { if (newAttrs == null) newAttrs = new TreeMap<>(); return new RedTreeNode(newAttrs, insertKey, insertValue, new EmptyTreeNode(), new EmptyTreeNode()); } @Override @Test public int checkDepth(int count, int minCount) { // test method if (count < minCount | minCount == 0) minCount = count; System.out.println("depth = " + count); Assert.assertTrue(count <= 2 * minCount); return minCount; } @Override protected RebuildNode replaceNode(ColorlessTreeNode parent) { return new RebuildNode(false, this); } }