
package org.apache.kafka.streams.processor.internals;

import org.apache.kafka.streams.processor.StateStore;

import java.util.Collections;
import java.util.List;
import java.util.Map;

public final class ProcessorTopologyFactories {
    private ProcessorTopologyFactories() {}


    public static ProcessorTopology with(final List<ProcessorNode> processorNodes,
                                         final Map<String, SourceNode> sourcesByTopic,
                                         final List<StateStore> stateStoresByName,
                                         final Map<String, String> storeToChangelogTopic) {
        return new ProcessorTopology(processorNodes,
                                     sourcesByTopic,
                                     Collections.emptyMap(),
                                     stateStoresByName,
                                     Collections.emptyList(),
                                     storeToChangelogTopic,
                                     Collections.emptySet());
    }

    static ProcessorTopology withLocalStores(final List<StateStore> stateStores,
                                             final Map<String, String> storeToChangelogTopic) {
        return new ProcessorTopology(Collections.emptyList(),
                                     Collections.emptyMap(),
                                     Collections.emptyMap(),
                                     stateStores,
                                     Collections.emptyList(),
                                     storeToChangelogTopic,
                                     Collections.emptySet());
    }

}
