Mercurial > hg > Members > shoshi > TreeCMSv2
view src/treecms/tree/util/NodeData.java @ 22:fa784faafc78
commit
author | shoshi |
---|---|
date | Tue, 07 Jun 2011 16:42:49 +0900 |
parents | 084de6909451 |
children | 77a894c0b919 |
line wrap: on
line source
package treecms.tree.util; import java.nio.ByteBuffer; import java.util.List; import java.util.Map; import java.util.Set; import treecms.api.NodeAttributes; import treecms.api.NodeChildren; import treecms.api.NodeContext; import treecms.api.NodeID; public class NodeData<T extends NodeContext & NodeAttributes & NodeChildren<T>> implements NodeAttributes , NodeChildren<T> { private final NodeChildrenImpl<T> m_children; private final NodeAttributesImpl m_attrs; public NodeData() { this(null,null); } public NodeData(NodeData<T> _newData) { this(_newData.m_children,_newData.m_attrs); } public NodeData(NodeChildren<T> _children,NodeAttributes _attrs) { m_children = (_children != null) ? new NodeChildrenImpl<T>(_children) : new NodeChildrenImpl<T>(); m_attrs = (_attrs != null) ? new NodeAttributesImpl(_attrs.asMap()) : new NodeAttributesImpl(); } @Override public List<T> getList() { return m_children.getList(); } @Override public T create(NodeAttributes _attrs) { throw new UnsupportedOperationException(); } @Override public T get(int _index) { return m_children.get(_index); } @Override public T remove(int _uuid) { return m_children.remove(_uuid); } public void add(T _newChild) { m_children.add(_newChild); } public T replace(T _newChild) { return m_children.replace(_newChild); } @Override public boolean contains(NodeID _id) { return m_children.contains(_id); } @Override public void clearChildren() { m_children.clearChildren(); } @Override public Map<ByteBuffer, ByteBuffer> asMap() { return m_attrs.asMap(); } @Override public Set<ByteBuffer> getKeySet() { return m_attrs.getKeySet(); } @Override public void put(ByteBuffer _name, ByteBuffer _value) { m_attrs.put(_name,_value); } @Override public void putAll(NodeAttributes _attrs) { m_attrs.putAll(_attrs); } @Override public ByteBuffer get(ByteBuffer _name) { return m_attrs.get(_name); } @Override public NodeAttributes getAll() { return m_attrs.getAll(); } @Override public void remove(ByteBuffer _name) { m_attrs.remove(_name); } @Override public void removeAll(Set<ByteBuffer> _keySet) { m_attrs.removeAll(_keySet); } @Override public void clearAttributes() { m_attrs.clearAttributes(); } @Override public Set<String> getFamilyIDSet() { return m_children.getFamilyIDSet(); } @Override public T get(String _familyID) { return m_children.get(_familyID); } @Override public T remove(String _familyID) { return m_children.get(_familyID); } @Override public boolean swap(String _fid1, String _fid2) { return m_children.swap(_fid1,_fid2); } }