Class ContextKey<K,​N>

  • Type Parameters:
    K - The type of the raw key.

    @ThreadSafe
    public class ContextKey<K,​N>
    extends Object
    The composite key which contains some context information, such as keyGroup, etc.
    • Constructor Detail

      • ContextKey

        public ContextKey​(RecordContext<K> recordContext,
                          @Nullable
                          N namespace)
      • ContextKey

        public ContextKey​(RecordContext<K> recordContext,
                          @Nullable
                          N namespace,
                          Object userKey)
    • Method Detail

      • getRawKey

        public K getRawKey()
      • getKeyGroup

        public int getKeyGroup()
      • getNamespace

        public N getNamespace()
      • getUserKey

        public Object getUserKey()
      • setUserKey

        public void setUserKey​(Object userKey)
      • resetExtra

        public void resetExtra()
      • getOrCreateSerializedKey

        public byte[] getOrCreateSerializedKey​(FunctionWithException<ContextKey<K,​N>,​byte[],​IOException> serializeKeyFunc)
                                        throws IOException
        Get the serialized key. If the cached serialized key within RecordContext#payload is null, the provided serialization function will be called, and the serialization result will be cached by RecordContext#payload.
        Parameters:
        serializeKeyFunc - the provided serialization function for this contextKey.
        Returns:
        the serialized bytes.
        Throws:
        IOException
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object