discord4j.discordjson.json.ComponentData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of discord-json Show documentation
Show all versions of discord-json Show documentation
Discord entity domain as immutable Jackson objects
package discord4j.discordjson.json;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import discord4j.discordjson.possible.Possible;
import org.immutables.value.Value;
import java.util.List;
@Value.Immutable
@JsonSerialize(as = ImmutableComponentData.class)
@JsonDeserialize(as = ImmutableComponentData.class)
public interface ComponentData {
static ImmutableComponentData.Builder builder() {
return ImmutableComponentData.builder();
}
int type();
Possible> components();
Possible style();
Possible label();
Possible emoji();
@JsonProperty("custom_id")
Possible customId();
Possible url();
Possible disabled();
Possible placeholder();
@JsonProperty("min_values")
Possible minValues();
@JsonProperty("max_values")
Possible maxValues();
/* Text input only */
@JsonProperty("min_length")
Possible minLength();
@JsonProperty("max_length")
Possible maxLength();
Possible required();
Possible value();
Possible> values();
Possible> options();
@JsonProperty("channel_types")
Possible> channelTypes();
/* Only for user, role, mentionable and channel select menu components */
@JsonProperty("default_values")
Possible> defaultValues();
}