Class ReplicationTopologyParser


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

      Fields 
      Modifier and Type Field Description
      static java.lang.String STORE_PREFIX  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addDiffProcessor​(org.apache.kafka.streams.Topology current, io.floodplain.streams.api.TopologyContext topologyContext, TopologyConstructor topologyConstructor, java.lang.String fromProcessor, java.lang.String diffProcessorNamePrefix)  
      static java.lang.String addGroupedProcessor​(org.apache.kafka.streams.Topology current, io.floodplain.streams.api.TopologyContext topologyContext, TopologyConstructor topologyConstructor, java.lang.String name, java.lang.String from, java.util.function.Function<io.floodplain.replication.api.ReplicationMessage,​java.lang.String> keyExtractor)  
      static void addJoin​(org.apache.kafka.streams.Topology current, io.floodplain.streams.api.TopologyContext topologyContext, TopologyConstructor topologyConstructor, java.lang.String fromProcessorName, java.lang.String withProcessorName, java.lang.String name, boolean optional, boolean multiple, boolean materialize, boolean debug)  
      static java.lang.String addMaterializeStore​(org.apache.kafka.streams.Topology currentBuilder, io.floodplain.streams.api.TopologyContext context, TopologyConstructor topologyConstructor, java.lang.String name, java.lang.String parentProcessor)  
      static void addPersistentCache​(org.apache.kafka.streams.Topology current, io.floodplain.streams.api.TopologyContext topologyContext, TopologyConstructor topologyConstructor, java.lang.String name, java.lang.String fromProcessorName, java.time.Duration cacheTime, int maxSize, boolean inMemory)  
      static java.lang.String addReducer​(org.apache.kafka.streams.Topology topology, io.floodplain.streams.api.TopologyContext topologyContext, TopologyConstructor topologyConstructor, java.util.Stack<java.lang.String> transformerNames, int currentPipeId, java.util.List<TopologyPipeComponent> onAdd, java.util.List<TopologyPipeComponent> onRemove, java.util.function.Function<io.floodplain.immutable.api.ImmutableMessage,​io.floodplain.immutable.api.ImmutableMessage> initialMessage, boolean materialize, java.util.Optional<java.util.function.BiFunction<io.floodplain.immutable.api.ImmutableMessage,​io.floodplain.immutable.api.ImmutableMessage,​java.lang.String>> keyExtractor)  
      static void addSingleJoinGrouped​(org.apache.kafka.streams.Topology current, io.floodplain.streams.api.TopologyContext topologyContext, TopologyConstructor topologyConstructor, java.lang.String fromProcessor, java.lang.String name, java.lang.String withProcessor, boolean optional, boolean materialize, boolean isList)  
      static java.lang.String addSourceStore​(org.apache.kafka.streams.Topology currentBuilder, TopologyConstructor topologyConstructor, io.floodplain.streams.api.Topic sourceTopicName, io.floodplain.streams.api.Topic.FloodplainKeyFormat keyFormat, io.floodplain.streams.api.Topic.FloodplainBodyFormat bodyFormat, boolean materializeStore)  
      static java.lang.String addSourceStore​(org.apache.kafka.streams.Topology currentBuilder, TopologyConstructor topologyConstructor, io.floodplain.streams.api.Topic sourceTopicName, org.apache.kafka.common.serialization.Deserializer<java.lang.String> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<io.floodplain.replication.api.ReplicationMessage> bodyDeserializer, boolean materializeStore)  
      static void addStateStoreMapping​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> processorStateStoreMapper, java.lang.String processor, java.lang.String stateStore)  
      static org.apache.kafka.common.serialization.Deserializer<io.floodplain.replication.api.ReplicationMessage> bodyDeserializer​(io.floodplain.streams.api.Topic.FloodplainBodyFormat bodyFormat)  
      static org.apache.kafka.common.serialization.Serializer<io.floodplain.replication.api.ReplicationMessage> bodySerializer​(io.floodplain.streams.api.Topic.FloodplainBodyFormat bodyFormat)  
      static org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage>> createImmutableMessageSupplier​(java.lang.String name, boolean persistent)  
      static org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​java.lang.Long>> createLongStoreSupplier​(java.lang.String name, boolean persistent)  
      static org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​io.floodplain.replication.api.ReplicationMessage>> createMessageStoreSupplier​(java.lang.String name, boolean persistent)  
      static org.apache.kafka.common.serialization.Deserializer<java.lang.String> keyDeserializer​(io.floodplain.streams.api.Topic.FloodplainKeyFormat keyFormat)  
      static org.apache.kafka.common.serialization.Serializer<java.lang.String> keySerializer​(io.floodplain.streams.api.Topic.FloodplainKeyFormat keyFormat)  
      static void materializeStateStores​(TopologyConstructor topologyConstructor, org.apache.kafka.streams.Topology current)  
      • Methods inherited from class java.lang.Object

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

      • addStateStoreMapping

        public static void addStateStoreMapping​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> processorStateStoreMapper,
                                                java.lang.String processor,
                                                java.lang.String stateStore)
      • materializeStateStores

        public static void materializeStateStores​(TopologyConstructor topologyConstructor,
                                                  org.apache.kafka.streams.Topology current)
      • addDiffProcessor

        public static void addDiffProcessor​(org.apache.kafka.streams.Topology current,
                                            io.floodplain.streams.api.TopologyContext topologyContext,
                                            TopologyConstructor topologyConstructor,
                                            java.lang.String fromProcessor,
                                            java.lang.String diffProcessorNamePrefix)
      • addMaterializeStore

        public static java.lang.String addMaterializeStore​(org.apache.kafka.streams.Topology currentBuilder,
                                                           io.floodplain.streams.api.TopologyContext context,
                                                           TopologyConstructor topologyConstructor,
                                                           java.lang.String name,
                                                           java.lang.String parentProcessor)
      • keyDeserializer

        public static org.apache.kafka.common.serialization.Deserializer<java.lang.String> keyDeserializer​(io.floodplain.streams.api.Topic.FloodplainKeyFormat keyFormat)
      • keySerializer

        public static org.apache.kafka.common.serialization.Serializer<java.lang.String> keySerializer​(io.floodplain.streams.api.Topic.FloodplainKeyFormat keyFormat)
      • bodyDeserializer

        public static org.apache.kafka.common.serialization.Deserializer<io.floodplain.replication.api.ReplicationMessage> bodyDeserializer​(io.floodplain.streams.api.Topic.FloodplainBodyFormat bodyFormat)
      • bodySerializer

        public static org.apache.kafka.common.serialization.Serializer<io.floodplain.replication.api.ReplicationMessage> bodySerializer​(io.floodplain.streams.api.Topic.FloodplainBodyFormat bodyFormat)
      • addSourceStore

        public static java.lang.String addSourceStore​(org.apache.kafka.streams.Topology currentBuilder,
                                                      TopologyConstructor topologyConstructor,
                                                      io.floodplain.streams.api.Topic sourceTopicName,
                                                      io.floodplain.streams.api.Topic.FloodplainKeyFormat keyFormat,
                                                      io.floodplain.streams.api.Topic.FloodplainBodyFormat bodyFormat,
                                                      boolean materializeStore)
      • addSourceStore

        public static java.lang.String addSourceStore​(org.apache.kafka.streams.Topology currentBuilder,
                                                      TopologyConstructor topologyConstructor,
                                                      io.floodplain.streams.api.Topic sourceTopicName,
                                                      org.apache.kafka.common.serialization.Deserializer<java.lang.String> keyDeserializer,
                                                      org.apache.kafka.common.serialization.Deserializer<io.floodplain.replication.api.ReplicationMessage> bodyDeserializer,
                                                      boolean materializeStore)
      • addSingleJoinGrouped

        public static void addSingleJoinGrouped​(org.apache.kafka.streams.Topology current,
                                                io.floodplain.streams.api.TopologyContext topologyContext,
                                                TopologyConstructor topologyConstructor,
                                                java.lang.String fromProcessor,
                                                java.lang.String name,
                                                java.lang.String withProcessor,
                                                boolean optional,
                                                boolean materialize,
                                                boolean isList)
      • addGroupedProcessor

        public static java.lang.String addGroupedProcessor​(org.apache.kafka.streams.Topology current,
                                                           io.floodplain.streams.api.TopologyContext topologyContext,
                                                           TopologyConstructor topologyConstructor,
                                                           java.lang.String name,
                                                           java.lang.String from,
                                                           java.util.function.Function<io.floodplain.replication.api.ReplicationMessage,​java.lang.String> keyExtractor)
      • addPersistentCache

        public static void addPersistentCache​(org.apache.kafka.streams.Topology current,
                                              io.floodplain.streams.api.TopologyContext topologyContext,
                                              TopologyConstructor topologyConstructor,
                                              java.lang.String name,
                                              java.lang.String fromProcessorName,
                                              java.time.Duration cacheTime,
                                              int maxSize,
                                              boolean inMemory)
      • addReducer

        public static java.lang.String addReducer​(org.apache.kafka.streams.Topology topology,
                                                  io.floodplain.streams.api.TopologyContext topologyContext,
                                                  TopologyConstructor topologyConstructor,
                                                  java.util.Stack<java.lang.String> transformerNames,
                                                  int currentPipeId,
                                                  java.util.List<TopologyPipeComponent> onAdd,
                                                  java.util.List<TopologyPipeComponent> onRemove,
                                                  java.util.function.Function<io.floodplain.immutable.api.ImmutableMessage,​io.floodplain.immutable.api.ImmutableMessage> initialMessage,
                                                  boolean materialize,
                                                  java.util.Optional<java.util.function.BiFunction<io.floodplain.immutable.api.ImmutableMessage,​io.floodplain.immutable.api.ImmutableMessage,​java.lang.String>> keyExtractor)
      • addJoin

        public static void addJoin​(org.apache.kafka.streams.Topology current,
                                   io.floodplain.streams.api.TopologyContext topologyContext,
                                   TopologyConstructor topologyConstructor,
                                   java.lang.String fromProcessorName,
                                   java.lang.String withProcessorName,
                                   java.lang.String name,
                                   boolean optional,
                                   boolean multiple,
                                   boolean materialize,
                                   boolean debug)
      • createMessageStoreSupplier

        public static org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​io.floodplain.replication.api.ReplicationMessage>> createMessageStoreSupplier​(java.lang.String name,
                                                                                                                                                                                                                    boolean persistent)
      • createImmutableMessageSupplier

        public static org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​io.floodplain.immutable.api.ImmutableMessage>> createImmutableMessageSupplier​(java.lang.String name,
                                                                                                                                                                                                                    boolean persistent)
      • createLongStoreSupplier

        public static org.apache.kafka.streams.state.StoreBuilder<org.apache.kafka.streams.state.KeyValueStore<java.lang.String,​java.lang.Long>> createLongStoreSupplier​(java.lang.String name,
                                                                                                                                                                               boolean persistent)