Package com.mewna.catnip.entity
Interface Entity
- All Known Subinterfaces:
ApplicationCommand,ApplicationCommandInteraction,ApplicationCommandInteractionData,ApplicationInfo,ApplicationOwner,AuditLogChange,AuditLogEntry,BulkDeletedMessages,BulkRemovedReactions,ButtonInteraction,Category,Channel,ChannelMention,ChannelPinsUpdate,ChunkingDone,CreatedInvite,DeletedMessage,DeletedThread,DMChannel,Emoji,Emoji.ActivityEmoji,Emoji.CustomEmoji,Emoji.UnicodeEmoji,EmojiUpdate,GatewayClosed,GatewayConnectionFailed,GatewayGuildBan,GatewayInfo,GroupDMChannel,Guild,GuildBan,GuildChannel,GuildEmbed,GuildEntity,HasOwner,HasUser,HighWebsocketLatency,Interaction<T>,InteractionMember,Invite,Invite.InviteChannel,Invite.InviteGuild,Invite.Inviter,Member,MemberChunkRerequest,MemberDisconnectInfo,MemberMoveInfo,MemberPruneInfo,Message,Message.Attachment,MessageBulkDeleteInfo,MessageChannel,MessageDeleteInfo,MessageEmbedUpdate,MessagePinInfo,MessageReference,NewsChannel,OptionalEntryInfo,OverrideUpdateInfo,PartialGuild,PartialMember,PartialRole,Permissable,PermissionOverride,PresenceUpdate,ReactionUpdate,Ready,RequiresCatnip,RestRatelimitHit,Resumed,Role,SelectInteraction,Snowflake,StageChannel,Sticker,StoreChannel,TaskScheduler,Team,TextChannel,ThreadChannel,ThreadChannel.ThreadMember,ThreadMembersUpdate,TypingUser,UnavailableGuild,User,UserDMChannel,VoiceChannel,VoiceRegion,VoiceServerUpdate,VoiceState,Webhook,WebhooksUpdate
- All Known Implementing Classes:
AbstractTaskScheduler,ActivityEmojiImpl,ApplicationCommandImpl,ApplicationCommandInteractionDataImpl,ApplicationCommandInteractionDataOptionImpl,ApplicationCommandInteractionImpl,ApplicationCommandOptionDoubleChoiceImpl,ApplicationCommandOptionIntegerChoiceImpl,ApplicationInfoImpl,ApplicationOwnerImpl,AttachmentImpl,AuditLogChangeImpl,AuditLogEntryImpl,BulkDeletedMessagesImpl,BulkRemovedReactionsImpl,ButtonInteractionImpl,CategoryImpl,ChannelMentionImpl,ChannelPinsUpdateImpl,ChunkingDoneImpl,CreatedInviteImpl,CustomEmojiImpl,DeletedInviteImpl,DeletedMessageImpl,DeletedThreadImpl,EmojiUpdateImpl,GatewayClosedImpl,GatewayConnectionFailedImpl,GatewayGuildBanImpl,GatewayInfoImpl,GroupDMChannelImpl,GuildBanImpl,GuildEmbedImpl,GuildImpl,HighWebsocketLatencyImpl,InteractionMemberImpl,InviteImpl,InviteImpl.InviteChannelImpl,InviteImpl.InviteGuildImpl,InviteImpl.InviterImpl,MemberChunkRerequestImpl,MemberDisconnectInfoImpl,MemberImpl,MemberMoveInfoImpl,MemberPruneInfoImpl,MessageBulkDeleteInfoImpl,MessageDeleteInfoImpl,MessageEmbedUpdateImpl,MessageImpl,MessagePinInfoImpl,MessageReferenceImpl,NewsChannelImpl,OverrideUpdateInfoImpl,PartialGuildImpl,PartialMemberImpl,PartialRoleImpl,PermissionOverrideImpl,PresenceImpl,PresenceUpdateImpl,ReactionUpdateImpl,ReadyImpl,RestRatelimitHitImpl,ResumedImpl,RoleImpl,RxTaskScheduler,SelectInteractionImpl,StageChannelImpl,StickerImpl,StoreChannelImpl,TeamImpl,TeamMemberImpl,TextChannelImpl,ThreadChannelImpl,ThreadChannelImpl.ThreadMemberImpl,ThreadMembersUpdateImpl,TypingUserImpl,UnavailableGuildImpl,UnicodeEmojiImpl,UserDMChannelImpl,UserImpl,VoiceChannelImpl,VoiceRegionImpl,VoiceServerUpdateImpl,VoiceStateImpl,WebhookImpl,WebhooksUpdateImpl
public interface Entity
A single entity in catnip. An entity is any data received from Discord that
can be serialized or deserialized, as well as a class that must have a
catnip instance attached to it.
- Since:
- 5/9/18.
- Author:
- natanbc
-
Method Summary
Modifier and TypeMethodDescriptioncatnip()Returns the catnip instance associated with this entity.static <T,E extends Entity>
Edeserialize(Catnip catnip, Class<E> type, T data) Deserialize the given data into an entity of the given type, with the provided catnip instanced attached to it.default <T> TSerialize this entity.
-
Method Details
-
deserialize
@Nonnull @CheckReturnValue static <T,E extends Entity> E deserialize(@Nonnull Catnip catnip, @Nonnull Class<E> type, @Nonnull T data) Deserialize the given data into an entity of the given type, with the provided catnip instanced attached to it.- Type Parameters:
T- The type of data being deserialized.E- The type of entity being deserialized.- Parameters:
catnip- The catnip instance to attach.type- The type of entity to deserialize to.data- The data to be deserialized.- Returns:
- The deserialized entity.
-
catnip
Catnip catnip()Returns the catnip instance associated with this entity.- Returns:
- The catnip instance of this entity.
-
serialize
@Nonnull @CheckReturnValue default <T> T serialize()Serialize this entity. Returns whatever type of data the configured serializer returns -- not necessarily JSON!- Type Parameters:
T- The type of serialized data.- Returns:
- The serialized data.
-