Mercurial > hg > Members > kazuma > jungle-ormapper
view src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/index/ParentIndex.java @ 0:44465893e8b8
first Commit
author | Kazuma |
---|---|
date | Wed, 30 Nov 2016 01:47:55 +0900 |
parents | |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.jungle.store.index; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNodeChildren; import jp.ac.u_ryukyu.ie.cr.jungle.data.treemap.TreeMap; import java.util.Iterator; public class ParentIndex { private TreeMap<TreeNode, TreeNode> parentIndex; public ParentIndex() { parentIndex = new TreeMap<>(); } public boolean isEmpty(){ return parentIndex.isEmpty(); } public TreeNode get(TreeNode child) { return parentIndex.get(child).get(); } public ParentIndex set(TreeNode parent ,TreeNode child) { parentIndex = parentIndex.put(child, parent); return this; } public ParentIndex delete(TreeNode child) { parentIndex = parentIndex.delete(child); return this; } public ParentIndex deleteAllChildren(TreeNode parentNode) { TreeNodeChildren children = parentNode.getChildren(); Iterator<TreeNode> childrenIterator = children.iterator(); for (; childrenIterator.hasNext();) { TreeNode child = childrenIterator.next(); parentIndex = parentIndex.delete(child); } return this; } public ParentIndex addAllChildren(TreeNode parentNode) { TreeNodeChildren children = parentNode.getChildren(); Iterator<TreeNode> childrenIterator = children.iterator(); for (; childrenIterator.hasNext();) { TreeNode child = childrenIterator.next(); parentIndex = parentIndex.put(child, parentNode); } return this; } }