view src/treecms/proto/id/DecrementalNodeID.java @ 50:a72718a0bccf

added demo tree builder
author shoshi
date Tue, 01 Feb 2011 16:28:49 +0900
parents 347feeca4728
children
line wrap: on
line source

package treecms.proto.id;

import treecms.proto.api.NodeID;

public abstract class DecrementalNodeID implements NodeID
{
	public static final long START_VALUE = 100000;
	
	@Override
	public abstract NodeID create();

	@Override
	public abstract NodeID getTip();
	
	@Override
	public abstract NodeID update();

	@Override
	public abstract String getUUID();

	@Override
	public abstract String getVersion();
	
	@Override
	public String toString()
	{
		return getUUID()+"@"+String.format("%06d",Long.parseLong(getVersion()));
	}

	@Override
	public boolean isFamily(NodeID id)
	{
		return id.getUUID().equals(getUUID());
	}

	@Override
	public boolean isOrderThen(NodeID _id)
	{
		if(Long.parseLong(_id.getVersion()) >= Long.parseLong(getVersion())){
			return true;
		}
		return false;
	}

	@Override
	public boolean equals(NodeID _id)
	{
		if(isFamily(_id)){
			if(Long.parseLong(getVersion()) == Long.parseLong(_id.getVersion())){
				return true;
			}
		}
		return false;
	}
}