Mercurial > hg > Members > shoshi > TreeCMSv2
view src/treecms/tree/util/NodeAttributesImpl.java @ 17:168deb591f21
commit
author | shoshi |
---|---|
date | Tue, 24 May 2011 00:33:12 +0900 |
parents | bb9760760744 |
children | 084de6909451 |
line wrap: on
line source
package treecms.tree.util; import java.nio.ByteBuffer; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Set; import treecms.api.NodeAttributes; public class NodeAttributesImpl implements NodeAttributes { private Map<ByteBuffer,ByteBuffer> m_attrs; public NodeAttributesImpl() { m_attrs = new HashMap<ByteBuffer,ByteBuffer>(); } public NodeAttributesImpl(Map<ByteBuffer,ByteBuffer> _map) { this(); m_attrs.putAll(_map); } public NodeAttributesImpl(NodeAttributesImpl _attrs) { this(); m_attrs.putAll(_attrs.m_attrs); } @Override public Set<ByteBuffer> getKeySet() { return m_attrs.keySet(); } @Override public void put(ByteBuffer _name, ByteBuffer _value) { m_attrs.put(_name,_value); } @Override public void putAll(NodeAttributes _attrs) { m_attrs.putAll(_attrs.asMap()); } @Override public Map<ByteBuffer,ByteBuffer> asMap() { return Collections.unmodifiableMap(m_attrs); } @Override public ByteBuffer get(ByteBuffer _name) { return m_attrs.get(_name); } @Override public NodeAttributes getAll() { return this; } @Override public void remove(ByteBuffer _name) { m_attrs.remove(_name); } @Override public void removeAll(Set<ByteBuffer> _keySet) { for(ByteBuffer _key : _keySet){ remove(_key); } } @Override public void clearAttributes() { m_attrs.clear(); } @Override public boolean equals(Object _o) { if(_o instanceof NodeAttributes || _o == null){ return false; } NodeAttributes attr = (NodeAttributes)_o; Map<ByteBuffer,ByteBuffer> map = attr.asMap(); return m_attrs.equals(map); } @Override public int hashCode() { return m_attrs.hashCode(); } }