Class MarkdownBlock

java.lang.Object
com.hubspot.slack.client.models.blocks.MarkdownBlock
All Implemented Interfaces:
BlockOrAttachment, Block, MarkdownBlockIF, ChatUnfurlBlocksOrAttachment

@Generated(from="MarkdownBlockIF", generator="Immutables") @ParametersAreNonnullByDefault @Generated("org.immutables.processor.ProxyProcessor") @Immutable public final class MarkdownBlock extends Object implements MarkdownBlockIF
Slack's markdown block type renders standard Markdown natively (e.g. **bold**, ## headings).
See Also:
  • Method Details

    • getBlockId

      public Optional<String> getBlockId()
      Specified by:
      getBlockId in interface Block
      Returns:
      The value of the blockId attribute
    • getType

      public String getType()
      Specified by:
      getType in interface Block
      Specified by:
      getType in interface MarkdownBlockIF
      Returns:
      The computed-at-construction value of the type attribute
    • getText

      public String getText()
      The standard markdown-formatted text. The cumulative limit for all markdown blocks in a single payload is 12,000 characters.
      Specified by:
      getText in interface MarkdownBlockIF
    • withBlockId

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

      public final MarkdownBlock withBlockId(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the blockId 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 blockId
      Returns:
      A modified copy or this if not changed
    • withText

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

      public boolean equals(@Nullable Object another)
      This instance is equal to all instances of MarkdownBlock 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: blockId, type, text.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

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

      public static MarkdownBlock of(String text)
      Construct a new immutable MarkdownBlock instance.
      Parameters:
      text - The value for the text attribute
      Returns:
      An immutable MarkdownBlock instance
    • copyOf

      public static MarkdownBlock copyOf(MarkdownBlockIF instance)
      Creates an immutable copy of a MarkdownBlockIF 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 MarkdownBlock instance
    • builder

      public static MarkdownBlock.Builder builder()
      Creates a builder for MarkdownBlock.
       MarkdownBlock.builder()
          .setBlockId(Optional<String>) // optional blockId
          .setText(String) // required text
          .build();
       
      Returns:
      A new MarkdownBlock builder