Mercurial > hg > Members > shoshi > jungle > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/RedBlackTreeNodePath.java @ 310:474728dcfdb8
add PathType
author | tatsuki |
---|---|
date | Thu, 26 Jan 2017 23:44:14 +0900 |
parents | f8e75ef7ac5d |
children | a0529572fbcb |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath; import jp.ac.u_ryukyu.ie.cr.jungle.store.NulIterator; import jp.ac.u_ryukyu.ie.cr.jungle.util.Pair; import java.nio.ByteBuffer; import java.util.Iterator; public class RedBlackTreeNodePath implements NodePath { private final String key; private final ByteBuffer value; private final PathType type; public RedBlackTreeNodePath() { this.key = "default"; this.value = ByteBuffer.wrap("default".getBytes()); this.type = PathType.RedBlack; } public RedBlackTreeNodePath(String key, ByteBuffer value) { this.key = key; this.value = value; this.type = PathType.RedBlack; } private RedBlackTreeNodePath(String key, ByteBuffer value, PathType type) { this.key = key; this.value = value; this.type = type; } @Override public String getKey() { return key; } @Override public ByteBuffer getValue() { return value; } @Override public PathType getPathType() { return type; } @Override public NodePath setType(PathType type) { return new RedBlackTreeNodePath(this.getKey(), this.getValue(), type); } //以下使わない @Override public Iterator<Integer> iterator() { return new NulIterator<>(); } @Override public int get(int index) { return -2; } @Override public NodePath add(int pos) { return null; } @Override public NodePath addHead(int pos) { return null; } @Override public Pair<Integer, NodePath> pop() { return null; } @Override public Pair<Integer, NodePath> last() { return null; } @Override public String toString() { return key + value; } @Override public int size() { return 0; } //PATHの一番後ろを取り除いたPATHを新しく作って返す // EXAMPLE <0,0,3> → <0,0> @Override public NodePath tail() { return null; } }