Class Stamp

  • All Implemented Interfaces:
    java.lang.Comparable<Stamp>

    public class Stamp
    extends java.lang.Object
    implements java.lang.Comparable<Stamp>
    This class represents a stamp. A stamp contains two parts:
    - a replica identifier (URID)
    - a time value
    Author:
    Olivier Dedieu
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String STAMP_SEPARATOR  
    • Constructor Summary

      Constructors 
      Constructor Description
      Stamp​(java.lang.String str)
      Create a new stamp from a string having the following format: urid[STAMP_SEPARATOR]time
      Stamp​(java.lang.String urid, long time)
      Create a new stamp from an URID and a logical time
    • Field Detail

    • Constructor Detail

      • Stamp

        public Stamp​(java.lang.String urid,
                     long time)
        Create a new stamp from an URID and a logical time
        Parameters:
        urid - the urid.
        time - the logical time.
      • Stamp

        public Stamp​(java.lang.String str)
        Create a new stamp from a string having the following format: urid[STAMP_SEPARATOR]time
        Parameters:
        str - the string that contains the stamp.
    • Method Detail

      • getUrid

        public java.lang.String getUrid()
        Get the value of urid.
        Returns:
        Value of urid.
      • setUrid

        public void setUrid​(java.lang.String urid)
        Set the value of urid.
        Parameters:
        urid - Value to assign to urid.
      • getTime

        public long getTime()
        Get the value of time.
        Returns:
        Value of time.
      • setTime

        public void setTime​(long time)
        Set the value of time.
        Parameters:
        time - Value to assign to time.
      • compareTo

        public int compareTo​(Stamp stamp)
        Compares this stamp with the specified stamp for order. Returns a negative integer, zero, or a positive integer as this stamp is less than, equal to, or greater than the specified stamp. The time stamps are first compared. If they are equals, the urids are compared.
        Specified by:
        compareTo in interface java.lang.Comparable<Stamp>
        Parameters:
        stamp - the Stamp to be compared.
        Returns:
        a negative integer, zero, or a positive integer as this stamp is less than, equal to, or greater than the specified stamp.
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • isLesserThan

        public boolean isLesserThan​(Stamp stamp)
      • isGreaterThan

        public boolean isGreaterThan​(Stamp stamp)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • min

        public static Stamp min​(Stamp s1,
                                Stamp s2)
        Return the smaller of two stamps
        Parameters:
        s1 - a stamp
        s2 - a stamp
        Returns:
        the smaller of s1 and s2
      • max

        public static Stamp max​(Stamp s1,
                                Stamp s2)
        Return the greater of two stamps
        Parameters:
        s1 - a stamp
        s2 - a stamp
        Returns:
        the greater of s1 and s2
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object