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

com.hubspot.slack.client.models.blocks.elements.NumberInputIF Maven / Gradle / Ivy

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

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.databind.PropertyNamingStrategies.SnakeCaseStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.hubspot.immutables.style.HubSpotStyle;
import com.hubspot.slack.client.models.blocks.SlackBlockNormalizer;
import com.hubspot.slack.client.models.blocks.objects.Text;
import java.util.Optional;
import org.immutables.value.Value;
import org.immutables.value.Value.Check;
import org.immutables.value.Value.Immutable;

@Immutable
@HubSpotStyle
@JsonNaming(SnakeCaseStrategy.class)
public interface NumberInputIF extends BlockElement, HasActionId {
  String TYPE = "number_input";

  @Override
  @Value.Derived
  default String getType() {
    return TYPE;
  }

  @Value.Parameter(order = 0)
  String getActionId();

  @Value.Parameter(order = 1)
  @JsonProperty("is_decimal_allowed")
  boolean isDecimalAllowed();

  Optional getPlaceholder();

  Optional getInitialValue();

  Optional getMinValue();

  Optional getMaxValue();

  @JsonSetter("focus_on_load")
  @JsonProperty("is_focus_on_load")
  Optional isFocusOnLoad();

  @Check
  default NumberInputIF validate() {
    return SlackBlockNormalizer.normalize(this);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy