Class ImmutableCooldown.Builder<C>
java.lang.Object
org.incendo.cloud.processors.cooldown.ImmutableCooldown.Builder<C>
- All Implemented Interfaces:
ImmutableCooldown.BuildFinal<C>,ImmutableCooldown.DurationBuildStage<C>
- Enclosing class:
- ImmutableCooldown<C>
public static final class ImmutableCooldown.Builder<C>
extends Object
implements ImmutableCooldown.DurationBuildStage<C>, ImmutableCooldown.BuildFinal<C>
Builds instances of type
ImmutableCooldown.
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 newImmutableCooldown.final ImmutableCooldown.Builder<C>duration(@NonNull DurationFunction<C> duration) Initializes the value for thedurationattribute.final ImmutableCooldown.Builder<C>group(@Nullable CooldownGroup group) Initializes the value for thegroupattribute.
-
Method Details
-
duration
Initializes the value for thedurationattribute.- Specified by:
durationin interfaceImmutableCooldown.DurationBuildStage<C>- Parameters:
duration- The value for duration- Returns:
thisbuilder for use in a chained invocation
-
group
Initializes the value for thegroupattribute.If not set, this attribute will have a default value as returned by the initializer of
group.- Specified by:
groupin interfaceImmutableCooldown.BuildFinal<C>- Parameters:
group- The value for group (can benull)- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newImmutableCooldown.- Specified by:
buildin interfaceImmutableCooldown.BuildFinal<C>- Returns:
- An immutable instance of Cooldown
- Throws:
IllegalStateException- if any required attributes are missing
-