Mercurial > hg > Members > shoshi > TreeCMS > TreeCMSPrototype1
view src/treecms/proto/id/NodeIDImpl.java @ 25:99346c04a3cf
broken
author | ShoshiTAMAKI |
---|---|
date | Sun, 31 Oct 2010 18:34:02 +0900 |
parents | |
children |
line wrap: on
line source
package treecms.proto.id; import treecms.proto.api.NodeID; import java.util.concurrent.atomic.AtomicLong; public class NodeIDImpl implements NodeID { private String m_inheritedID; private final long m_version; private AtomicLong m_tip; public NodeIDImpl(String _inheritedID,AtomicLong _version) { m_inheritedID = _inheritedID; m_version = _version.getAndIncrement(); m_tip = _version; } String getInheritedID() { return m_inheritedID; } long getVersion() { return m_version; } AtomicLong getTip() { return m_tip; } @Override public int compare(NodeID _target) { // TODO Auto-generated method stub if(m_inheritedID.equals(((NodeIDImpl)_target).m_inheritedID)){ long diff = m_version - ((NodeIDImpl)_target).m_version; if(diff == 0){ return 0; }else if(diff < 0){ return -1; }else{ return 1; } } return -2; } @Override public String toString() { return m_inheritedID + "@" + m_version; } }