view src/treecms/tree/util/NodeAttributesImpl.java @ 16:bb9760760744

commit
author shoshi
date Sat, 21 May 2011 04:46:00 +0900
parents src/treecms/api/NodeAttributesImpl.java@8bf59f161b23
children 168deb591f21
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(NodeAttributesImpl _attrs)
	{
		super();
		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();
	}

}