Record Class TrackingInfo

java.lang.Object
java.lang.Record
io.umadb.client.TrackingInfo
Record Components:
source - the unique identifier of the consumer, projection, or system tracking the events
position - the sequence position up to which the source has successfully processed

public record TrackingInfo(String source, long position) extends Record
Represents the read/processing progress of a named consumer or projection.

Tracking info lets a consumer checkpoint how far it has processed the event stream. It can be attached to an AppendRequest to advance the cursor atomically with the append, and read back later via UmaDbClient.getTrackingInfo(String).

  • Constructor Summary

    Constructors
    Constructor
    Description
    TrackingInfo(String source, long position)
    Creates a new TrackingInfo.
  • Method Summary

    Modifier and Type
    Method
    Description
    at(long position)
    Returns a copy of this tracking info advanced to the given position.
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    of(String source, long position)
    Creates a new TrackingInfo.
    long
    Returns the value of the position record component.
    Returns the value of the source record component.
    final String
    Returns a string representation of this record class.

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • TrackingInfo

      public TrackingInfo(String source, long position)
      Creates a new TrackingInfo.
      Throws:
      IllegalArgumentException - if validation constraints are violated
  • Method Details

    • of

      public static TrackingInfo of(String source, long position)
      Creates a new TrackingInfo.
      Parameters:
      source - the consumer identifier
      position - the position processed up to
      Returns:
      a new TrackingInfo
    • at

      public TrackingInfo at(long position)
      Returns a copy of this tracking info advanced to the given position.
      Parameters:
      position - the new position
      Returns:
      a new TrackingInfo for the same source
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • source

      public String source()
      Returns the value of the source record component.
      Returns:
      the value of the source record component
    • position

      public long position()
      Returns the value of the position record component.
      Returns:
      the value of the position record component