Class ImmutableConfirmationConfiguration.Builder<C>
java.lang.Object
org.incendo.cloud.processors.confirmation.ImmutableConfirmationConfiguration.Builder<C>
- All Implemented Interfaces:
ImmutableConfirmationConfiguration.BuildFinal<C>,ImmutableConfirmationConfiguration.CacheBuildStage<C>,ImmutableConfirmationConfiguration.ConfirmationRequiredNotifierBuildStage<C>,ImmutableConfirmationConfiguration.NoPendingCommandNotifierBuildStage<C>
- Enclosing class:
- ImmutableConfirmationConfiguration<C>
public static final class ImmutableConfirmationConfiguration.Builder<C>
extends Object
implements ImmutableConfirmationConfiguration.CacheBuildStage<C>, ImmutableConfirmationConfiguration.NoPendingCommandNotifierBuildStage<C>, ImmutableConfirmationConfiguration.ConfirmationRequiredNotifierBuildStage<C>, ImmutableConfirmationConfiguration.BuildFinal<C>
Builds instances of type
ImmutableConfirmationConfiguration.
Initialize attributes and then invoke the build() method to create an
immutable instance.
Builder is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
-
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds a newImmutableConfirmationConfiguration.bypassConfirmation(@NonNull Predicate<CommandContext<C>> bypassConfirmation) Initializes the value for thebypassConfirmationattribute.cache(@NonNull CloudCache<C, ConfirmationContext<C>> cache) Initializes the value for thecacheattribute.confirmationRequiredNotifier(@NonNull BiConsumer<C, ConfirmationContext<C>> confirmationRequiredNotifier) Initializes the value for theconfirmationRequiredNotifierattribute.expiration(@Nullable Duration expiration) Initializes the value for theexpirationattribute.noPendingCommandNotifier(@NonNull Consumer<C> noPendingCommandNotifier) Initializes the value for thenoPendingCommandNotifierattribute.
-
Method Details
-
cache
public final ImmutableConfirmationConfiguration.Builder<C> cache(@NonNull CloudCache<C, ConfirmationContext<C>> cache) Initializes the value for thecacheattribute.- Specified by:
cachein interfaceImmutableConfirmationConfiguration.CacheBuildStage<C>- Parameters:
cache- The value for cache- Returns:
thisbuilder for use in a chained invocation
-
noPendingCommandNotifier
public final ImmutableConfirmationConfiguration.Builder<C> noPendingCommandNotifier(@NonNull Consumer<C> noPendingCommandNotifier) Initializes the value for thenoPendingCommandNotifierattribute.- Specified by:
noPendingCommandNotifierin interfaceImmutableConfirmationConfiguration.NoPendingCommandNotifierBuildStage<C>- Parameters:
noPendingCommandNotifier- The value for noPendingCommandNotifier- Returns:
thisbuilder for use in a chained invocation
-
confirmationRequiredNotifier
public final ImmutableConfirmationConfiguration.Builder<C> confirmationRequiredNotifier(@NonNull BiConsumer<C, ConfirmationContext<C>> confirmationRequiredNotifier) Initializes the value for theconfirmationRequiredNotifierattribute.- Specified by:
confirmationRequiredNotifierin interfaceImmutableConfirmationConfiguration.ConfirmationRequiredNotifierBuildStage<C>- Parameters:
confirmationRequiredNotifier- The value for confirmationRequiredNotifier- Returns:
thisbuilder for use in a chained invocation
-
bypassConfirmation
public final ImmutableConfirmationConfiguration.Builder<C> bypassConfirmation(@NonNull Predicate<CommandContext<C>> bypassConfirmation) Initializes the value for thebypassConfirmationattribute.If not set, this attribute will have a default value as returned by the initializer of
bypassConfirmation.- Specified by:
bypassConfirmationin interfaceImmutableConfirmationConfiguration.BuildFinal<C>- Parameters:
bypassConfirmation- The value for bypassConfirmation- Returns:
thisbuilder for use in a chained invocation
-
expiration
public final ImmutableConfirmationConfiguration.Builder<C> expiration(@Nullable Duration expiration) Initializes the value for theexpirationattribute.If not set, this attribute will have a default value as returned by the initializer of
expiration.- Specified by:
expirationin interfaceImmutableConfirmationConfiguration.BuildFinal<C>- Parameters:
expiration- The value for expiration (can benull)- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newImmutableConfirmationConfiguration.- Specified by:
buildin interfaceImmutableConfirmationConfiguration.BuildFinal<C>- Returns:
- An immutable instance of ConfirmationConfiguration
- Throws:
IllegalStateException- if any required attributes are missing
-