Versions Compared

Key

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

...

Code Block
public interface TimeWindowedKStream<K, V> {
    TimeWindowedKStream<K, V> emitStrategy(EmitStrategy strategy);
}

public interface SessionWindowedKStream<K, V> {
    SessionWindowedKStream<K, V> emitStrategy(EmitStrategy strategy);
}

public interface EmitStrategy {
    enum StrategyType {
        ON_WINDOW_CLOSE, // output final result
        ON_WINDOW_UPDATE;  // output for every record
    }      

	StrategyType type();

    static EmitStrategy onWindowClose() {
        return new WindowCloseTriggerWindowCloseStrategy();
    }

    static EmitStrategy onWindowUpdate() {
        return new WindowUpdateTriggerWindowUpdateStrategy();
    }
}

public class WindowCloseStrategy implements EmitStrategy {     
	WindowCloseStrategy() {}

    StrategyType type() {
        return ON_WINDOW_CLOSE;
    }
}

...