Class ExternalMultiSelectMenu

java.lang.Object
com.hubspot.slack.client.models.blocks.elements.ExternalMultiSelectMenu
All Implemented Interfaces:
BlockElement, ExternalMultiSelectMenuIF, HasActionId

@Generated(from="ExternalMultiSelectMenuIF", generator="Immutables") @ParametersAreNonnullByDefault @Generated("org.immutables.processor.ProxyProcessor") @Immutable public final class ExternalMultiSelectMenu extends Object implements ExternalMultiSelectMenuIF
Immutable implementation of ExternalMultiSelectMenuIF.

Use the builder to create immutable instances: ExternalMultiSelectMenu.builder(). Use the static factory method to create immutable instances: ExternalMultiSelectMenu.of().

  • Method Details

    • getType

      public String getType()
      Specified by:
      getType in interface BlockElement
      Specified by:
      getType in interface ExternalMultiSelectMenuIF
      Returns:
      The computed-at-construction value of the type attribute
    • getPlaceholder

      public Text getPlaceholder()
      Specified by:
      getPlaceholder in interface ExternalMultiSelectMenuIF
      Returns:
      The value of the placeholder attribute
    • getActionId

      public String getActionId()
      Specified by:
      getActionId in interface ExternalMultiSelectMenuIF
      Specified by:
      getActionId in interface HasActionId
      Returns:
      The value of the actionId attribute
    • getMinQueryLength

      public Optional<Integer> getMinQueryLength()
      Specified by:
      getMinQueryLength in interface ExternalMultiSelectMenuIF
      Returns:
      The value of the minQueryLength attribute
    • getInitialOptions

      public List<OptionOrOptionGroup> getInitialOptions()
      Specified by:
      getInitialOptions in interface ExternalMultiSelectMenuIF
      Returns:
      The value of the initialOptions attribute
    • getConfirmationDialog

      public Optional<ConfirmationDialog> getConfirmationDialog()
      Specified by:
      getConfirmationDialog in interface ExternalMultiSelectMenuIF
      Returns:
      The value of the confirmationDialog attribute
    • withPlaceholder

      public final ExternalMultiSelectMenu withPlaceholder(Text value)
      Copy the current immutable object by setting a value for the placeholder attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for placeholder
      Returns:
      A modified copy or the this object
    • withActionId

      public final ExternalMultiSelectMenu withActionId(String value)
      Copy the current immutable object by setting a value for the actionId attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for actionId
      Returns:
      A modified copy or the this object
    • withMinQueryLength

      public final ExternalMultiSelectMenu withMinQueryLength(@Nullable Integer value)
      Copy the current immutable object by setting a present value for the optional minQueryLength attribute.
      Parameters:
      value - The value for minQueryLength, null is accepted as java.util.Optional.empty()
      Returns:
      A modified copy or this if not changed
    • withMinQueryLength

      public final ExternalMultiSelectMenu withMinQueryLength(Optional<Integer> optional)
      Copy the current immutable object by setting an optional value for the minQueryLength attribute. An equality check is used on inner value to prevent copying of the same value by returning this.
      Parameters:
      optional - An optional value for minQueryLength
      Returns:
      A modified copy or this if not changed
    • withInitialOptions

      public final ExternalMultiSelectMenu withInitialOptions(OptionOrOptionGroup... elements)
      Copy the current immutable object with elements that replace the content of initialOptions.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withInitialOptions

      public final ExternalMultiSelectMenu withInitialOptions(Iterable<? extends OptionOrOptionGroup> elements)
      Copy the current immutable object with elements that replace the content of initialOptions. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of initialOptions elements to set
      Returns:
      A modified copy or this if not changed
    • withConfirmationDialog

      public final ExternalMultiSelectMenu withConfirmationDialog(@Nullable ConfirmationDialog value)
      Copy the current immutable object by setting a present value for the optional confirmationDialog attribute.
      Parameters:
      value - The value for confirmationDialog, null is accepted as java.util.Optional.empty()
      Returns:
      A modified copy or this if not changed
    • withConfirmationDialog

      public final ExternalMultiSelectMenu withConfirmationDialog(Optional<? extends ConfirmationDialog> optional)
      Copy the current immutable object by setting an optional value for the confirmationDialog attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - An optional value for confirmationDialog
      Returns:
      A modified copy or this if not changed
    • equals

      public boolean equals(@Nullable Object another)
      This instance is equal to all instances of ExternalMultiSelectMenu that have equal attribute values.
      Overrides:
      equals in class Object
      Returns:
      true if this is equal to another instance
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: type, placeholder, actionId, minQueryLength, initialOptions, confirmationDialog.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Prints the immutable value ExternalMultiSelectMenu with attribute values.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the value
    • of

      public static ExternalMultiSelectMenu of(Text placeholder, String actionId)
      Construct a new immutable ExternalMultiSelectMenu instance.
      Parameters:
      placeholder - The value for the placeholder attribute
      actionId - The value for the actionId attribute
      Returns:
      An immutable ExternalMultiSelectMenu instance
    • copyOf

      public static ExternalMultiSelectMenu copyOf(ExternalMultiSelectMenuIF instance)
      Creates an immutable copy of a ExternalMultiSelectMenuIF value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
      instance - The instance to copy
      Returns:
      A copied immutable ExternalMultiSelectMenu instance
    • builder

      public static ExternalMultiSelectMenu.Builder builder()
      Creates a builder for ExternalMultiSelectMenu.
       ExternalMultiSelectMenu.builder()
          .setPlaceholder(com.hubspot.slack.client.models.blocks.objects.Text) // required placeholder
          .setActionId(String) // required actionId
          .setMinQueryLength(Optional<Integer>) // optional minQueryLength
          .addInitialOptions|addAllInitialOptions(com.hubspot.slack.client.models.blocks.objects.OptionOrOptionGroup) // initialOptions elements
          .setConfirmationDialog(Optional<com.hubspot.slack.client.models.blocks.objects.ConfirmationDialog>) // optional confirmationDialog
          .build();
       
      Returns:
      A new ExternalMultiSelectMenu builder