Class FixedKeyRecord<K,V>

java.lang.Object
org.apache.kafka.streams.processor.api.FixedKeyRecord<K,V>
Type Parameters:
K - The type of the fixed key
V - The type of the value

public final class FixedKeyRecord<K,V> extends Object
A data class representing an incoming record with fixed key for processing in a FixedKeyProcessor or a record to forward to downstream processors via FixedKeyProcessorContext. This class encapsulates all the data attributes of a record: the key and value, but also the timestamp of the record and any record headers. Though key is not allowed to be changes. This class is immutable, though the objects referenced in the attributes of this class may themselves be mutable.
  • Method Details

    • key

      public K key()
      The key of the record. May be null.
    • value

      public V value()
      The value of the record. May be null.
    • timestamp

      public long timestamp()
      The timestamp of the record. Will never be negative.
    • headers

      public Headers headers()
      The headers of the record. Never null.
    • withValue

      public <NewV> FixedKeyRecord<K,NewV> withValue(NewV value)
      A convenient way to produce a new record if you only need to change the value. Copies the attributes of this record with the value replaced.
      Type Parameters:
      NewV - The type of the new record's value.
      Parameters:
      value - The value of the result record.
      Returns:
      A new Record instance with all the same attributes (except that the value is replaced).
    • withTimestamp

      public FixedKeyRecord<K,V> withTimestamp(long timestamp)
      A convenient way to produce a new record if you only need to change the timestamp. Copies the attributes of this record with the timestamp replaced.
      Parameters:
      timestamp - The timestamp of the result record.
      Returns:
      A new Record instance with all the same attributes (except that the timestamp is replaced).
    • withHeaders

      public FixedKeyRecord<K,V> withHeaders(Headers headers)
      A convenient way to produce a new record if you only need to change the headers. Copies the attributes of this record with the headers replaced. Also makes a copy of the provided headers. See FixedKeyProcessorContext.forward(FixedKeyRecord) for considerations around mutability of keys, values, and headers.
      Parameters:
      headers - The headers of the result record.
      Returns:
      A new Record instance with all the same attributes (except that the headers are replaced).
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object