All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hubspot.slack.client.models.blocks.Block Maven / Gradle / Ivy

package com.hubspot.slack.client.models.blocks;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.hubspot.slack.client.models.BlockOrAttachment;
import java.util.Optional;

@JsonTypeInfo(
  use = JsonTypeInfo.Id.NAME,
  property = "type",
  defaultImpl = UnknownBlock.class
)
@JsonSubTypes(
  {
    @JsonSubTypes.Type(value = Actions.class, name = Actions.TYPE),
    @JsonSubTypes.Type(value = Context.class, name = Context.TYPE),
    @JsonSubTypes.Type(value = Divider.class, name = Divider.TYPE),
    @JsonSubTypes.Type(value = File.class, name = File.TYPE),
    @JsonSubTypes.Type(value = Image.class, name = Image.TYPE),
    @JsonSubTypes.Type(value = Input.class, name = Input.TYPE),
    @JsonSubTypes.Type(value = Section.class, name = Section.TYPE),
    @JsonSubTypes.Type(value = Header.class, name = Header.TYPE),
  }
)
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public interface Block extends BlockOrAttachment {
  String getType();

  Optional getBlockId();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy