com.slack.api.model.block.element.StaticSelectElement Maven / Gradle / Ivy
package com.slack.api.model.block.element;
import com.slack.api.model.block.composition.ConfirmationDialogObject;
import com.slack.api.model.block.composition.OptionGroupObject;
import com.slack.api.model.block.composition.OptionObject;
import com.slack.api.model.block.composition.PlainTextObject;
import lombok.*;
import java.util.List;
/**
* https://api.slack.com/reference/messaging/block-elements#static-select
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class StaticSelectElement extends BlockElement {
public static final String TYPE = "static_select";
private final String type = TYPE;
private PlainTextObject placeholder;
private String actionId;
/**
* An array of option objects.
*
* NOTE: The reason I didn't initialize the List<> fields is because Slack (sometimes) gives errors
* when it encounters an empty list in the generated JSON.
* The proper solution if/when you don't want un-initialized fields is to have a Gson type adapter that skips empty lists
*
* @see The Pull request #103
* @see A related discussion on StackOverFlow.com
*/
private List options;
/**
* An array of option group objects.
*
* NOTE: The reason I didn't initialize the List<> fields is because Slack (sometimes) gives errors
* when it encounters an empty list in the generated JSON.
* The proper solution if/when you don't want un-initialized fields is to have a Gson type adapter that skips empty lists
*
* @see The Pull request #103
* @see A related discussion on StackOverFlow.com
*/
private List optionGroups;
private OptionObject initialOption;
private ConfirmationDialogObject confirm;
}