Class SelectOption
- java.lang.Object
-
- net.dv8tion.jda.api.interactions.components.selections.SelectOption
-
- All Implemented Interfaces:
SerializableData
public class SelectOption extends java.lang.Object implements SerializableData
One of the possible options provided in aSelectionMenu.
-
-
Field Summary
Fields Modifier and Type Field Description static intDESCRIPTION_MAX_LENGTHThe maximum length a select option description can havestatic intLABEL_MAX_LENGTHThe maximum length a select option label can havestatic intVALUE_MAX_LENGTHThe maximum length a select option value can have
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SelectOptionfromData(DataObject data)Inverse function fortoData()which parses the serialized option datajava.lang.StringgetDescription()The current description for this option.EmojigetEmoji()The emoji attached to this option which is shown next to the option in the selection menujava.lang.StringgetLabel()The current option label which would be shown to the user in the client.java.lang.StringgetValue()The current option value which is used to identify the selected options inSelectionMenuInteraction.getValues().booleanisDefault()Whether this option is selected by defaultstatic SelectOptionof(java.lang.String label, java.lang.String value)Creates a new SelectOption instance.DataObjecttoData()SerializedDataObjectfor this object.SelectOptionwithDefault(boolean isDefault)Returns a copy of this select option with the changed default.SelectOptionwithDescription(java.lang.String description)Returns a copy of this select option with the changed description of this option.SelectOptionwithEmoji(Emoji emoji)Returns a copy of this select option with the changed emoji.SelectOptionwithLabel(java.lang.String label)Returns a copy of this select option with the changed label.SelectOptionwithValue(java.lang.String value)Returns a copy of this select option with the changed value.
-
-
-
Field Detail
-
LABEL_MAX_LENGTH
public static final int LABEL_MAX_LENGTH
The maximum length a select option label can have- See Also:
- Constant Field Values
-
VALUE_MAX_LENGTH
public static final int VALUE_MAX_LENGTH
The maximum length a select option value can have- See Also:
- Constant Field Values
-
DESCRIPTION_MAX_LENGTH
public static final int DESCRIPTION_MAX_LENGTH
The maximum length a select option description can have- See Also:
- Constant Field Values
-
-
Method Detail
-
of
@Nonnull @CheckReturnValue public static SelectOption of(@Nonnull java.lang.String label, @Nonnull java.lang.String value)
Creates a new SelectOption instance.
You can further configure this with the various setters that return new instances.- Parameters:
label- The label for the option, up to 100 characters, as defined byLABEL_MAX_LENGTHvalue- The value for the option used to indicate which option was selected withSelectionMenuInteraction.getValues(), up to 100 characters, as defined byVALUE_MAX_LENGTH- Returns:
- The new select option instance
- Throws:
java.lang.IllegalArgumentException- If the null is provided, or any of the individual parameter requirements are violated.
-
withLabel
@Nonnull @CheckReturnValue public SelectOption withLabel(@Nonnull java.lang.String label)
Returns a copy of this select option with the changed label.- Parameters:
label- The label for the option, up to 100 characters, as defined byLABEL_MAX_LENGTH- Returns:
- The new select option instance
- Throws:
java.lang.IllegalArgumentException- If the label is null, empty, or longer than 100 characters
-
withValue
@Nonnull @CheckReturnValue public SelectOption withValue(@Nonnull java.lang.String value)
Returns a copy of this select option with the changed value.- Parameters:
value- The value for the option used to indicate which option was selected withSelectionMenuInteraction.getValues(), up to 100 characters, as defined byVALUE_MAX_LENGTH- Returns:
- The new select option instance
- Throws:
java.lang.IllegalArgumentException- If the label is null, empty, or longer than 100 characters
-
withDescription
@Nonnull @CheckReturnValue public SelectOption withDescription(@Nullable java.lang.String description)
Returns a copy of this select option with the changed description of this option.
Default:null- Parameters:
description- The new description or null to have no description, up to 100 characters, as defined byDESCRIPTION_MAX_LENGTH- Returns:
- The new select option instance
- Throws:
java.lang.IllegalArgumentException- If the provided description is longer than 100 characters
-
withDefault
@Nonnull @CheckReturnValue public SelectOption withDefault(boolean isDefault)
Returns a copy of this select option with the changed default.
Default:false- Parameters:
isDefault- Whether this option is selected by default- Returns:
- The new select option instance
-
withEmoji
@Nonnull @CheckReturnValue public SelectOption withEmoji(@Nullable Emoji emoji)
Returns a copy of this select option with the changed emoji.
Default:null- Parameters:
emoji- TheEmojishown next to this option, or null- Returns:
- The new select option instance
-
getLabel
@Nonnull public java.lang.String getLabel()
The current option label which would be shown to the user in the client.- Returns:
- The label
-
getValue
@Nonnull public java.lang.String getValue()
The current option value which is used to identify the selected options inSelectionMenuInteraction.getValues().- Returns:
- The option value
-
getDescription
@Nullable public java.lang.String getDescription()
The current description for this option.- Returns:
- The description
-
isDefault
public boolean isDefault()
Whether this option is selected by default- Returns:
- True, if this option is selected by default
-
getEmoji
@Nullable public Emoji getEmoji()
The emoji attached to this option which is shown next to the option in the selection menu- Returns:
- The attached emoji
-
toData
@Nonnull public DataObject toData()
Description copied from interface:SerializableDataSerializedDataObjectfor this object.- Specified by:
toDatain interfaceSerializableData- Returns:
DataObject
-
fromData
@Nonnull @CheckReturnValue public static SelectOption fromData(@Nonnull DataObject data)
Inverse function fortoData()which parses the serialized option data- Parameters:
data- The serialized option data- Returns:
- The parsed SelectOption instance
- Throws:
ParsingException- If the data representation is invalidjava.lang.IllegalArgumentException- If some part of the data has an invalid length or null is provided
-
-