Class TopologyConstructor


  • public class TopologyConstructor
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.util.Map<java.lang.String,​org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage>>> immutableStoreSupplier  
      java.util.Map<java.lang.String,​org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​java.lang.Long>>> longStoreSupplier  
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> processorStateStoreMapper  
      java.util.Set<java.lang.String> sinks  
      java.util.Map<io.floodplain.streams.api.Topic,​java.lang.String> sources
      Key is the topic object, value is the 'name' of the topic.
      java.util.Map<java.lang.String,​org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​io.floodplain.replication.api.ReplicationMessage>>> stateStoreSupplier  
      java.util.Set<java.lang.String> stores  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addDesiredTopic​(io.floodplain.streams.api.Topic topic, java.util.Optional<java.lang.Integer> partitions)  
      void addSink​(java.lang.String qualifiedName)  
      void createTopicsAsNeeded​(java.util.Map<java.lang.String,​java.lang.Object> settings)  
      java.util.Set<io.floodplain.streams.api.Topic> desiredTopicNames()  
      void ensureTopicExists​(io.floodplain.streams.api.Topic topicName, java.util.Optional<java.lang.Integer> partitionCount)  
      int generateNewStreamId()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • processorStateStoreMapper

        public final java.util.Map<java.lang.String,​java.util.List<java.lang.String>> processorStateStoreMapper
      • stateStoreSupplier

        public final java.util.Map<java.lang.String,​org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​io.floodplain.replication.api.ReplicationMessage>>> stateStoreSupplier
      • immutableStoreSupplier

        public final java.util.Map<java.lang.String,​org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage>>> immutableStoreSupplier
      • longStoreSupplier

        public final java.util.Map<java.lang.String,​org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​java.lang.Long>>> longStoreSupplier
      • stores

        public final java.util.Set<java.lang.String> stores
      • sinks

        public final java.util.Set<java.lang.String> sinks
      • sources

        public final java.util.Map<io.floodplain.streams.api.Topic,​java.lang.String> sources
        Key is the topic object, value is the 'name' of the topic. Often the same as the topic name, but makes it possible to sink to the same topic multiple times
    • Constructor Detail

      • TopologyConstructor

        public TopologyConstructor()
    • Method Detail

      • addDesiredTopic

        public void addDesiredTopic​(io.floodplain.streams.api.Topic topic,
                                    java.util.Optional<java.lang.Integer> partitions)
      • desiredTopicNames

        public java.util.Set<io.floodplain.streams.api.Topic> desiredTopicNames()
      • ensureTopicExists

        public void ensureTopicExists​(io.floodplain.streams.api.Topic topicName,
                                      java.util.Optional<java.lang.Integer> partitionCount)
      • createTopicsAsNeeded

        public void createTopicsAsNeeded​(java.util.Map<java.lang.String,​java.lang.Object> settings)
      • generateNewStreamId

        public int generateNewStreamId()
      • addSink

        public void addSink​(java.lang.String qualifiedName)