view src/treecms/tree/id/RandomNodeID.java @ 21:f3150b37f9be

commit
author shoshi
date Mon, 06 Jun 2011 21:49:04 +0900
parents
children
line wrap: on
line source

package treecms.tree.id;

import java.util.Random;
import java.util.UUID;
import treecms.api.NodeID;

public class RandomNodeID extends AbstractRandomNodeID
{
	private String m_fid;
	private long m_version;
	
	public RandomNodeID(String _fid)
	{
		m_fid = (_fid != null) ? _fid : UUID.randomUUID().toString();
		m_version = (new Random()).nextLong();
	}

	@Override
	public NodeID create()
	{
		return new RandomNodeID(null);
	}

	@Override
	public NodeID update()
	{
		return new RandomNodeID(m_fid);
	}

	@Override
	public String getFamilyID()
	{
		return m_fid;
	}

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