Class TopicPartitionOffset


  • public class TopicPartitionOffset
    extends java.lang.Object
    A configuration container to represent a topic name, partition number and, optionally, an offset for it. The offset can be:
    • null - do nothing;
    • positive (including 0) - seek to EITHER the absolute offset within the partition or an offset relative to the current position for this consumer, depending on isRelativeToCurrent().
    • negative - seek to EITHER the offset relative to the current last offset within the partition: consumer.seekToEnd() + initialOffset OR the relative to the current offset for this consumer (if any), depending on isRelativeToCurrent().
    Offsets are applied when the container is start()ed. This class is used when manually assigning partitions and for deferred seek operations.
    Since:
    2.3
    Author:
    Artem Bilan, Gary Russell
    • Constructor Detail

      • TopicPartitionOffset

        public TopicPartitionOffset​(java.lang.String topic,
                                    int partition)
        Construct an instance with no initial offset management.
        Parameters:
        topic - the topic.
        partition - the partition.
      • TopicPartitionOffset

        public TopicPartitionOffset​(java.lang.String topic,
                                    int partition,
                                    java.lang.Long offset)
        Construct an instance with the provided initial offset with isRelativeToCurrent() false.
        Parameters:
        topic - the topic.
        partition - the partition.
        offset - the offset.
        See Also:
        TopicPartitionOffset(String, int, Long, boolean)
      • TopicPartitionOffset

        public TopicPartitionOffset​(java.lang.String topic,
                                    int partition,
                                    java.lang.Long offset,
                                    boolean relativeToCurrent)
        Construct an instance with the provided initial offset.
        Parameters:
        topic - the topic.
        partition - the partition.
        offset - the initial offset.
        relativeToCurrent - true for the initial offset to be relative to the current consumer position, false for a positive initial offset to be absolute and a negative offset relative to the current end of the partition.
    • Method Detail

      • getTopicPartition

        public org.apache.kafka.common.TopicPartition getTopicPartition()
      • getPartition

        public int getPartition()
      • getTopic

        public java.lang.String getTopic()
      • getOffset

        public java.lang.Long getOffset()
      • setOffset

        public void setOffset​(java.lang.Long offset)
        Set the offset.
        Parameters:
        offset - the offset.
        Since:
        2.5.5
      • isRelativeToCurrent

        public boolean isRelativeToCurrent()
      • setRelativeToCurrent

        public void setRelativeToCurrent​(boolean relativeToCurrent)
        Set whether the offset is relative to the current position.
        Parameters:
        relativeToCurrent - true for relative to current.
        Since:
        2.5.5
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

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

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