Class SequenceNumber

java.lang.Object
java.lang.Number
org.apache.qpid.protonj2.engine.util.SequenceNumber
All Implemented Interfaces:
Serializable, Comparable<SequenceNumber>

public class SequenceNumber extends Number implements Comparable<SequenceNumber>
A mutable sequence that represents an unsigned integer type underneath
See Also:
  • Constructor Details

    • SequenceNumber

      public SequenceNumber(int startValue)
      Create a new sequence starting at the given value.
      Parameters:
      startValue - The starting value of this unsigned integer sequence
  • Method Details

    • increment

      public SequenceNumber increment()
      Add one to the sequence value.
      Returns:
      this sequence.
    • decrement

      public SequenceNumber decrement()
      Subtract one to the sequence value.
      Returns:
      this sequence.
    • getAndIncrement

      public SequenceNumber getAndIncrement()
      Add one to the sequence value.
      Returns:
      this sequence value prior to the increment.
    • getAndDecrement

      public SequenceNumber getAndDecrement()
      Subtract one to the sequence value.
      Returns:
      this sequence value prior to the decrement.
    • intValue

      public int intValue()
      Specified by:
      intValue in class Number
    • longValue

      public long longValue()
      Specified by:
      longValue in class Number
    • floatValue

      public float floatValue()
      Specified by:
      floatValue in class Number
    • doubleValue

      public double doubleValue()
      Specified by:
      doubleValue in class Number
    • compareTo

      public int compareTo(SequenceNumber other)
      Specified by:
      compareTo in interface Comparable<SequenceNumber>
    • compareTo

      public int compareTo(Number other)
      Compares the sequence number value to the Number given. This method returns 0 if the tracked id is equal to the value provided, value less than 0 if the tracked id is less than the provided value; and a value greater than 0 if the tracked id is larger than the value provided.
      Parameters:
      other - The Number to compare the current sequence number with.
      Returns:
      the result of comparing the current sequence number to the provided number.
    • compareTo

      public int compareTo(int other)
      Compares the sequence number value to the primitive Integer given. This method returns 0 if the tracked id is equal to the value provided, value less than 0 if the tracked id is less than the provided value; and a value greater than 0 if the tracked id is larger than the value provided.
      Parameters:
      other - The Number to compare the current sequence number with.
      Returns:
      the result of comparing the current sequence number to the provided number.
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • equals

      public boolean equals(int other)
      Performs an unsigned comparison between the current sequence number and the integer value passed.
      Parameters:
      other - The value to compare to the currently sequence number.
      Returns:
      true if the currently sequence value matches the integer value provided.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object