Interface IMentionable

All Superinterfaces:
Formattable, ISnowflake
All Known Subinterfaces:
AudioChannel, BaseGuildMessageChannel, Category, Channel, Emote, GuildChannel, GuildMessageChannel, ICategorizableChannel, ICopyableChannel, IInviteContainer, IMemberContainer, IPermissionContainer, IPositionableChannel, IThreadContainer, ListedEmote, Member, MessageChannel, NewsChannel, PrivateChannel, Role, SelfUser, StageChannel, StoreChannel, TextChannel, ThreadChannel, ThreadMember, User, VoiceChannel
All Known Implementing Classes:
Activity.Emoji, Emoji, WidgetUtil.Widget.Member

public interface IMentionable extends 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 Details

    • getAsMention

      @Nonnull 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(Formatter formatter, int flags, int width, int precision)
      Specified by:
      formatTo in interface Formattable