Mercurial > hg > Members > shoshi > TreeCMSv2
diff src/treecms/memory/OnMemoryTree.java @ 8:f96193babac0
changed byte[] to ByteBuffer
added TreeEditor.updateTree(Node,NodeData,Node[]) for node path is known.
added GUIEditor
author | shoshi |
---|---|
date | Thu, 31 Mar 2011 02:08:44 +0900 |
parents | fc19e38b669b |
children | 17ed97ca9960 |
line wrap: on
line diff
--- a/src/treecms/memory/OnMemoryTree.java Thu Mar 17 23:24:08 2011 +0900 +++ b/src/treecms/memory/OnMemoryTree.java Thu Mar 31 02:08:44 2011 +0900 @@ -1,5 +1,6 @@ package treecms.memory; +import java.nio.ByteBuffer; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicReference; @@ -17,7 +18,6 @@ */ final class OnMemoryTree implements Tree { - private OnMemoryNode m_root; private AtomicReference<OnMemoryNode> m_ref; /** @@ -26,7 +26,6 @@ */ public OnMemoryTree(OnMemoryNode _newRoot) { - m_root = _newRoot; m_ref = new AtomicReference<OnMemoryNode>(_newRoot); } @@ -106,7 +105,7 @@ * @return キーと対応する値,見つからない場合はnull */ @Override - public byte[] get(byte[] _key) + public ByteBuffer get(ByteBuffer _key) { return m_ref.get().get(_key); } @@ -116,7 +115,7 @@ * @return Nodeが保持するすべてのデータのマップ */ @Override - public Map<byte[],byte[]> getAll() + public Map<ByteBuffer,ByteBuffer> getAll() { return m_ref.get().getAll(); } @@ -127,7 +126,7 @@ * @param _value 値 */ @Override - public void put(byte[] _key,byte[] _value) + public void put(ByteBuffer _key,ByteBuffer _value) { m_ref.get().put(_key,_value); } @@ -137,12 +136,32 @@ * @param _map 追加される値のマップ */ @Override - public void putAll(Map<byte[], byte[]> _map) + public void putAll(Map<ByteBuffer, ByteBuffer> _map) { m_ref.get().putAll(_map); } /** + * キーとそれに対応する値を削除します。 + * @param _key キー + */ + @Override + public void remove(ByteBuffer _key) + { + m_ref.get().remove(_key); + } + + /** + * 子供Nodeを削除します。 + * @param _child + */ + @Override + public void remove(Node _child) + { + m_ref.get().remove(_child); + } + + /** * ルートNodeを比較して置き換えます. * @param _except 比較する対象 * @param _newRoot 一致した場合置き換える対象 @@ -156,4 +175,5 @@ m_ref.set(_newRoot); return true; } + }