Mercurial > hg > Members > shoshi > TreeCMS > TreeCMSPrototype1
view src/treecms/proto/simple/SimpleDecNodeID.java @ 43:7392f7ed45d2
added SimpleIncNodeID SimpleIncNodeIDTest
author | shoshi |
---|---|
date | Fri, 21 Jan 2011 16:33:41 +0900 |
parents | ba136d01f304 |
children | 347feeca4728 |
line wrap: on
line source
package treecms.proto.simple; import java.util.UUID; import java.util.concurrent.atomic.AtomicLong; import treecms.proto.api.NodeID; import treecms.proto.id.DecrementalNodeID; public class SimpleDecNodeID extends DecrementalNodeID { private String m_uuid; private AtomicLong m_tip; private long m_version; public SimpleDecNodeID() { m_uuid = UUID.randomUUID().toString(); m_tip = new AtomicLong(); m_tip.set(10000); m_version = m_tip.getAndDecrement(); } private SimpleDecNodeID(String _uuid,AtomicLong _tip,boolean _doUpdate) { m_uuid = _uuid; m_tip = _tip; if(_doUpdate){ m_version = m_tip.getAndDecrement(); return; } m_version = m_tip.get(); } @Override public NodeID create() { return new SimpleDecNodeID(); } @Override public NodeID getTip() { return new SimpleDecNodeID(m_uuid,m_tip,false); } @Override public String getUUID() { return m_uuid; } @Override public String getVersion() { return Long.toString(m_version); } @Override public NodeID update() { return new SimpleDecNodeID(m_uuid,m_tip,false); } }