Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/ParentIndex.java @ 150:1432adf6f490
add ParentIndex.java
author | one |
---|---|
date | Sat, 22 Nov 2014 12:54:28 +0900 |
parents | |
children | d9fbddf77bf6 |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.TreeMapOrd; import fj.data.Option; import fj.data.TreeMap; public class ParentIndex { private final TreeMap<TreeNode, TreeNode> parentIndex; public ParentIndex() { parentIndex = TreeMap.empty(TreeMapOrd.treeNodeOrd); } public ParentIndex(TreeMap<TreeNode, TreeNode> parentIndex) { this.parentIndex = parentIndex; } public ParentIndex(ParentIndex parentIndex) { this.parentIndex = parentIndex.getParentIndex(); } private TreeMap<TreeNode, TreeNode> getParentIndex() { return parentIndex; } public Option<TreeNode> get(TreeNode child) { Option<TreeNode> parentOp = parentIndex.get(child); return parentOp; } public ParentIndex set(TreeNode child, TreeNode parent){ TreeMap<TreeNode, TreeNode> newParentIndex = parentIndex.set(child,parent); return new ParentIndex(newParentIndex); } public ParentIndex delete(TreeNode child) { TreeMap<TreeNode, TreeNode> newParentIndex = parentIndex.delete(child); return new ParentIndex(newParentIndex); } }