Interface IMentionable

  • All Superinterfaces:
    java.util.Formattable, ISnowflake
    All Known Subinterfaces:
    Category, Emote, GuildChannel, ListedEmote, Member, Role, SelfUser, StageChannel, StoreChannel, TextChannel, User, VoiceChannel
    All Known Implementing Classes:
    Activity.Emoji, Emoji, WidgetUtil.Widget.Member

    public interface IMentionable
    extends java.util.Formattable, ISnowflake
    Marks a mentionable entity.

    Formattable

    This interface extends Formattable and can be used with a Formatter such as used by String.format(String, Object...) or PrintStream.printf(String, Object...).

    This will use getAsMention() rather than Object.toString()!
    Supported Features:

    • Width/Left-Justification
      - Ensures the size of a format (Example: %20s - uses at minimum 20 chars; %-10s - uses left-justified padding)
    • Precision
      - Cuts the content to the specified size (Example: %.20s)

    More information on formatting syntax can be found in the format syntax documentation!
    Note: Some implementations also support the alternative flag.

    Since:
    3.0
    • Method Detail

      • getAsMention

        @Nonnull
        java.lang.String getAsMention()
        Retrieve a Mention for this Entity. For the public Role (@everyone), this will return the literal string "@everyone".
        Returns:
        A resolvable mention.
      • formatTo

        default void formatTo​(java.util.Formatter formatter,
                              int flags,
                              int width,
                              int precision)
        Specified by:
        formatTo in interface java.util.Formattable