annotate src/treecms/api/NodeAttributesImpl.java @ 14:8bf59f161b23

separete Node methods to NodeContext , NodeAttribute , NodeChildren
author misaka
date Tue, 17 May 2011 18:44:14 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
1 package treecms.api;
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
2
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
3 import java.nio.ByteBuffer;
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
4 import java.util.Collections;
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
5 import java.util.HashMap;
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
6 import java.util.Map;
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
7 import java.util.Set;
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
8
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
9 public class NodeAttributesImpl implements NodeAttributes
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
10 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
11 private Map<ByteBuffer,ByteBuffer> m_attrs;
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
12
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
13 public NodeAttributesImpl()
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
14 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
15 m_attrs = new HashMap<ByteBuffer,ByteBuffer>();
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
16 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
17
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
18 public NodeAttributesImpl(NodeAttributesImpl _attrs)
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
19 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
20 super();
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
21 m_attrs.putAll(_attrs.m_attrs);
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
22 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
23
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
24 @Override
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
25 public Set<ByteBuffer> getKeySet()
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
26 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
27 return m_attrs.keySet();
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
28 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
29
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
30 @Override
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
31 public void put(ByteBuffer _name, ByteBuffer _value)
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
32 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
33 m_attrs.put(_name,_value);
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
34 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
35
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
36 @Override
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
37 public void putAll(NodeAttributes _attrs)
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
38 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
39 m_attrs.putAll(_attrs.asMap());
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
40 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
41
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
42 @Override
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
43 public Map<ByteBuffer,ByteBuffer> asMap()
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
44 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
45 return Collections.unmodifiableMap(m_attrs);
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
46 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
47
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
48 @Override
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
49 public ByteBuffer get(ByteBuffer _name)
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
50 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
51 return m_attrs.get(_name);
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
52 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
53
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
54 @Override
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
55 public NodeAttributes getAll()
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
56 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
57 return this;
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
58 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
59
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
60 @Override
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
61 public void remove(ByteBuffer _name)
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
62 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
63 m_attrs.remove(_name);
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
64 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
65
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
66 @Override
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
67 public void removeAll(Set<ByteBuffer> _keySet)
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
68 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
69 for(ByteBuffer _key : _keySet){
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
70 remove(_key);
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
71 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
72 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
73
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
74 @Override
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
75 public void clearAttributes()
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
76 {
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
77 m_attrs.clear();
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
78 }
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
79
8bf59f161b23 separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
diff changeset
80 }