Class MessageCommandExecutorBuilder

java.lang.Object
dev.sympho.modular_commands.execute.MessageCommandExecutorBuilder

@ParametersAreNonnullByDefault @Generated("org.immutables.processor.ProxyProcessor") @NotThreadSafe public final class MessageCommandExecutorBuilder extends Object
MessageCommandExecutorBuilder collects parameters and invokes the static factory method: new dev.sympho.modular_commands.execute.MessageCommandExecutor(..). Call the build() method to get a result of type dev.sympho.modular_commands.execute.MessageCommandExecutor.

MessageCommandExecutorBuilder is not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.

  • Constructor Details

    • MessageCommandExecutorBuilder

      public MessageCommandExecutorBuilder()
      Creates a MessageCommandExecutorBuilder factory builder.
       new MessageCommandExecutorBuilder()
          .client(discord4j.core.GatewayDiscordClient) // required client
          .registry(dev.sympho.modular_commands.api.registry.Registry) // required registry
          .accessManager(dev.sympho.bot_utils.access.AccessManager) // optional accessManager
          .meters(io.micrometer.core.instrument.MeterRegistry) // optional meters
          .observations(io.micrometer.observation.ObservationRegistry) // optional observations
          .prefixProvider(dev.sympho.modular_commands.execute.PrefixProvider) // required prefixProvider
          .aliases(dev.sympho.modular_commands.execute.AliasProvider) // optional aliases
          .build();
       
  • Method Details

    • client

      Initializes the value for the client attribute.
      Parameters:
      client - The value for client
      Returns:
      this builder for use in a chained invocation
    • registry

      Initializes the value for the registry attribute.
      Parameters:
      registry - The value for registry
      Returns:
      this builder for use in a chained invocation
    • accessManager

      @CanIgnoreReturnValue public final MessageCommandExecutorBuilder accessManager(dev.sympho.bot_utils.access.AccessManager accessManager)
      Initializes the optional value accessManager to accessManager.
      Parameters:
      accessManager - The value for accessManager
      Returns:
      this builder for chained invocation
    • accessManager

      @CanIgnoreReturnValue public final MessageCommandExecutorBuilder accessManager(Optional<? extends dev.sympho.bot_utils.access.AccessManager> accessManager)
      Initializes the optional value accessManager to accessManager.
      Parameters:
      accessManager - The value for accessManager
      Returns:
      this builder for use in a chained invocation
    • meters

      @CanIgnoreReturnValue public final MessageCommandExecutorBuilder meters(io.micrometer.core.instrument.MeterRegistry meters)
      Initializes the optional value meters to meters.
      Parameters:
      meters - The value for meters
      Returns:
      this builder for chained invocation
    • meters

      @CanIgnoreReturnValue public final MessageCommandExecutorBuilder meters(Optional<? extends io.micrometer.core.instrument.MeterRegistry> meters)
      Initializes the optional value meters to meters.
      Parameters:
      meters - The value for meters
      Returns:
      this builder for use in a chained invocation
    • observations

      @CanIgnoreReturnValue public final MessageCommandExecutorBuilder observations(io.micrometer.observation.ObservationRegistry observations)
      Initializes the optional value observations to observations.
      Parameters:
      observations - The value for observations
      Returns:
      this builder for chained invocation
    • observations

      @CanIgnoreReturnValue public final MessageCommandExecutorBuilder observations(Optional<? extends io.micrometer.observation.ObservationRegistry> observations)
      Initializes the optional value observations to observations.
      Parameters:
      observations - The value for observations
      Returns:
      this builder for use in a chained invocation
    • prefixProvider

      @CanIgnoreReturnValue public final MessageCommandExecutorBuilder prefixProvider(PrefixProvider prefixProvider)
      Initializes the value for the prefixProvider attribute.
      Parameters:
      prefixProvider - The value for prefixProvider
      Returns:
      this builder for use in a chained invocation
    • aliases

      Initializes the optional value aliases to aliases.
      Parameters:
      aliases - The value for aliases
      Returns:
      this builder for chained invocation
    • aliases

      Initializes the optional value aliases to aliases.
      Parameters:
      aliases - The value for aliases
      Returns:
      this builder for use in a chained invocation
    • build

      public MessageCommandExecutor build()
      Invokes new dev.sympho.modular_commands.execute.MessageCommandExecutor(..) using the collected parameters and returns the result of the invocation
      Returns:
      A result of type dev.sympho.modular_commands.execute.MessageCommandExecutor
      Throws:
      IllegalStateException - if any required attributes are missing