java.lang.Object
com.hubspot.slack.client.models.blocks.File
All Implemented Interfaces:
BlockOrAttachment, Block, ContainerChildBlock, FileIF, ChatUnfurlBlocksOrAttachment

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

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

  • 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 FileIF
      Returns:
      The computed-at-construction value of the type attribute
    • getExternalId

      public String getExternalId()
      Specified by:
      getExternalId in interface FileIF
      Returns:
      The value of the externalId attribute
    • getSource

      public String getSource()
      Specified by:
      getSource in interface FileIF
      Returns:
      The value of the source attribute
    • withBlockId

      public final File 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 File 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
    • withExternalId

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

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

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

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

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

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

      public static File.Builder builder()
      Creates a builder for File.
       File.builder()
          .setBlockId(Optional<String>) // optional blockId
          .setExternalId(String) // required externalId
          .setSource(String) // required source
          .build();
       
      Returns:
      A new File builder