2.11.7. Kafka KeyValueStore Interface

public interface ReadOnlyKeyValueStore <K, V> {

    V get (K key);

    KeyValueIterator <K, V> range (K from, K to);
    default KeyValueIterator <K, V> reverseRange (K from, K to) { ... }

    KeyValueIterator <K, V> all ();
    default KeyValueIterator <K, V> reverseAll () { ... }

    default <PS extends Serializer <P>, P> KeyValueIterator <K, V> prefixScan (P prefix, PS prefixKeySerializer) { ... }

    long approximateNumEntries ();
}


public interface KeyValueStore <K, V> extends StateStore, ReadOnlyKeyValueStore <K, V> {

    void put (K key, V value);
    V putIfAbsent (K key, V value);
    void putAll (List <KeyValue <K, V>> entries);

    V delete (K key);
}