io.fluxcapacitor.javaclient.configuration.FluxCapacitorBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-client Show documentation
Show all versions of java-client Show documentation
Default Java client library for interfacing with Flux Capacitor.
package io.fluxcapacitor.javaclient.configuration;
import io.fluxcapacitor.common.MessageType;
import io.fluxcapacitor.common.handling.ParameterResolver;
import io.fluxcapacitor.javaclient.FluxCapacitor;
import io.fluxcapacitor.javaclient.common.serialization.DeserializingMessage;
import io.fluxcapacitor.javaclient.common.serialization.Serializer;
import io.fluxcapacitor.javaclient.configuration.client.Client;
import io.fluxcapacitor.javaclient.publishing.DispatchInterceptor;
import io.fluxcapacitor.javaclient.publishing.correlation.CorrelationDataProvider;
import io.fluxcapacitor.javaclient.tracking.ConsumerConfiguration;
import io.fluxcapacitor.javaclient.tracking.handling.HandlerInterceptor;
import java.util.function.UnaryOperator;
public interface FluxCapacitorBuilder {
FluxCapacitorBuilder serializer(Serializer serializer);
FluxCapacitorBuilder snapshotSerializer(Serializer serializer);
FluxCapacitorBuilder configureDefaultConsumer(MessageType messageType, UnaryOperator updateFunction);
FluxCapacitorBuilder addConsumerConfiguration(MessageType messageType, ConsumerConfiguration consumerConfiguration);
FluxCapacitorBuilder addHandlerParameterResolver(ParameterResolver parameterResolver);
FluxCapacitorBuilder addDispatchInterceptor(DispatchInterceptor interceptor, MessageType... forTypes);
FluxCapacitorBuilder addHandlerInterceptor(HandlerInterceptor interceptor, MessageType... forTypes);
FluxCapacitorBuilder addCorrelationDataProvider(CorrelationDataProvider dataProvider);
FluxCapacitorBuilder changeMessageRoutingInterceptor(DispatchInterceptor messageRoutingInterceptor);
FluxCapacitorBuilder disableMessageCorrelation();
FluxCapacitorBuilder disableCommandValidation();
FluxCapacitorBuilder collectTrackingMetrics();
FluxCapacitorBuilder collectApplicationMetrics();
FluxCapacitorBuilder changeCommandValidationInterceptor(HandlerInterceptor validationInterceptor);
FluxCapacitor build(Client client);
}