Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
package org.apache.kafka.streams.internals;

public class MockStoreFactory<K, V extends StoreBuilder>V> {

    final String storeName;
    final Serde<K> keySerde;
    final Serde<V> valueSerde;
    final Time time;
    final Boolean persistent;

    public MockStoreFactory (final String storeName,
                             final Serde<K> keySerde,
                             final Serde<V> valueSerde,
                             final Time time) {

,
          this.storeName = storeName;
        this.keySerde = keySerde;
       final this.valueSerde = valueSerde;Boolean persistent) {

        this.timestoreName = timestoreName;
    }

    publicthis.keySerde MockKeyValueStoreBuilder createKeyValueStoreBuilder(){= keySerde;
        return new MockKeyValueStoreBuilder<>(storeName, keySerde, valueSerde, time)this.valueSerde = valueSerde;
    }

	public  MockWindowStoreBuilder createWindowStoreBuilder(){
    this.time = time;
     return new MockWindowStoreBuilder<>(storeName, keySerde, valueSerde, time) this.persistent = persistent;
    }

	    public MockSessionStoreBuilderMockKeyValueStoreBuilder createSessionStoreBuildercreateKeyValueStoreBuilder(){
        return new MockSessionStoreBuilder<>MockKeyValueStoreBuilder<K,V>(storeName, keySerde, valueSerde, time, persistent);
    }
}

Each Store builder will have a build method:

...

1) Rebuilding a MockStateStores vs extending an InMemoryStore

  • If we are rebuilding the functionality of a store from scratch in memory, it will basically act like an InMemoryStore.

2)  Track all calls in a total order.

  • Now I haven't get a feature request to track calls within a total order, so now we track the order separately. If there is a need, we can definitely adjust it.