view src/treecms/proto/cassandra/v1/CassDecNodeID.java @ 54:d830fb5aeece default tip

bugfix byte[0] = {0} and stringtokenizer
author shoshi
date Wed, 16 Feb 2011 19:25:14 +0900
parents d4709911e0ed
children
line wrap: on
line source

package treecms.proto.cassandra.v1;

import java.util.UUID;
import treecms.proto.api.NodeID;
import treecms.proto.id.DecrementalNodeID;

public class CassDecNodeID extends DecrementalNodeID
{
	private String m_uuid;
	private long m_version;
	
	private CassBrowser m_cassandra;
	
	public CassDecNodeID(CassBrowser _browser)
	{
		m_uuid = UUID.randomUUID().toString();
		m_version = START_VALUE;
		m_cassandra = _browser;
	}
	
	public CassDecNodeID(CassBrowser _browser,String _uuid,long _version)
	{
		m_cassandra = _browser;
		m_uuid = _uuid;
		m_version = _version;
	}

	@Override
	public NodeID create()
	{
		return new CassDecNodeID(m_cassandra);
	}

	@Override
	public NodeID getTip()
	{
		NodeID tip = m_cassandra.getTipIDFromUUID(m_uuid);
		if(tip == null){
			return this;
		}
		return tip;
	}

	@Override
	public String getUUID()
	{
		return m_uuid;
	}

	@Override
	public String getVersion()
	{
		return Long.toString(m_version);
	}

	@Override
	public NodeID update()
	{
		return new CassDecNodeID(m_cassandra,m_uuid,m_version - 1);
	}
}