Interface UpdateEvent<E,T>

Type Parameters:
E - The entity type
T - The value type
All Superinterfaces:
GenericEvent
All Known Implementing Classes:
ChannelUpdateAppliedTagsEvent, ChannelUpdateArchivedEvent, ChannelUpdateArchiveTimestampEvent, ChannelUpdateAutoArchiveDurationEvent, ChannelUpdateBitrateEvent, ChannelUpdateDefaultLayoutEvent, ChannelUpdateDefaultReactionEvent, ChannelUpdateDefaultSortOrderEvent, ChannelUpdateDefaultThreadSlowmodeEvent, ChannelUpdateFlagsEvent, ChannelUpdateInvitableEvent, ChannelUpdateLockedEvent, ChannelUpdateNameEvent, ChannelUpdateNSFWEvent, ChannelUpdateParentEvent, ChannelUpdatePositionEvent, ChannelUpdateRegionEvent, ChannelUpdateSlowmodeEvent, ChannelUpdateTopicEvent, ChannelUpdateTypeEvent, ChannelUpdateUserLimitEvent, ChannelUpdateVoiceStatusEvent, EmojiUpdateNameEvent, EmojiUpdateRolesEvent, ForumTagUpdateEmojiEvent, ForumTagUpdateModeratedEvent, ForumTagUpdateNameEvent, GatewayPingEvent, GenericChannelUpdateEvent, GenericEmojiUpdateEvent, GenericForumTagUpdateEvent, GenericGuildMemberUpdateEvent, GenericGuildStickerUpdateEvent, GenericGuildUpdateEvent, GenericRoleUpdateEvent, GenericScheduledEventUpdateEvent, GenericSelfUpdateEvent, GenericStageInstanceUpdateEvent, GenericUserUpdateEvent, GuildMemberUpdateAvatarEvent, GuildMemberUpdateBoostTimeEvent, GuildMemberUpdateFlagsEvent, GuildMemberUpdateNicknameEvent, GuildMemberUpdatePendingEvent, GuildMemberUpdateTimeOutEvent, GuildStickerUpdateAvailableEvent, GuildStickerUpdateDescriptionEvent, GuildStickerUpdateNameEvent, GuildStickerUpdateTagsEvent, GuildUpdateAfkChannelEvent, GuildUpdateAfkTimeoutEvent, GuildUpdateBannerEvent, GuildUpdateBoostCountEvent, GuildUpdateBoostTierEvent, GuildUpdateCommunityUpdatesChannelEvent, GuildUpdateDescriptionEvent, GuildUpdateExplicitContentLevelEvent, GuildUpdateFeaturesEvent, GuildUpdateIconEvent, GuildUpdateLocaleEvent, GuildUpdateMaxMembersEvent, GuildUpdateMaxPresencesEvent, GuildUpdateMFALevelEvent, GuildUpdateNameEvent, GuildUpdateNotificationLevelEvent, GuildUpdateNSFWLevelEvent, GuildUpdateOwnerEvent, GuildUpdateRulesChannelEvent, GuildUpdateSafetyAlertsChannelEvent, GuildUpdateSecurityIncidentActionsEvent, GuildUpdateSecurityIncidentDetectionsEvent, GuildUpdateSplashEvent, GuildUpdateSystemChannelEvent, GuildUpdateSystemChannelFlagsEvent, GuildUpdateVanityCodeEvent, GuildUpdateVerificationLevelEvent, GuildVoiceUpdateEvent, RoleUpdateColorEvent, RoleUpdateHoistedEvent, RoleUpdateIconEvent, RoleUpdateMentionableEvent, RoleUpdateNameEvent, RoleUpdatePermissionsEvent, RoleUpdatePositionEvent, ScheduledEventUpdateDescriptionEvent, ScheduledEventUpdateEndTimeEvent, ScheduledEventUpdateImageEvent, ScheduledEventUpdateLocationEvent, ScheduledEventUpdateNameEvent, ScheduledEventUpdateStartTimeEvent, ScheduledEventUpdateStatusEvent, SelfUpdateAvatarEvent, SelfUpdateDiscriminatorEvent, SelfUpdateGlobalNameEvent, SelfUpdateMFAEvent, SelfUpdateNameEvent, SelfUpdateVerifiedEvent, StageInstanceUpdatePrivacyLevelEvent, StageInstanceUpdateTopicEvent, StatusChangeEvent, UserUpdateActivitiesEvent, UserUpdateActivityOrderEvent, UserUpdateAvatarEvent, UserUpdateDiscriminatorEvent, UserUpdateFlagsEvent, UserUpdateGlobalNameEvent, UserUpdateNameEvent, UserUpdateOnlineStatusEvent, UserUpdatePrimaryGuildEvent

public interface UpdateEvent<E,T> extends GenericEvent
Indicates that a value of an entity was updated
  • Method Details

    • getEntityType

      @Nonnull default Class<E> getEntityType()
      Class representation of the affected entity, useful when dealing with refection.
      Returns:
      The class of the affected entity
    • getPropertyIdentifier

      @Nonnull String getPropertyIdentifier()
      The field name for the updated property

      Example

      @Override
      public void onGenericRoleUpdate(GenericRoleUpdateEvent event) {
          switch (event.getPropertyIdentifier()) {
          case RoleUpdateColorEvent.IDENTIFIER:
              System.out.printf("Updated color for role: %s%n", event);
              break;
          case RoleUpdatePositionEvent.IDENTIFIER:
              RoleUpdatePositionEvent update = (RoleUpdatePositionEvent) event;
              System.out.printf("Updated position for role: %s raw(%s -> %s)%n", event, update.getOldPositionRaw(), update.getNewPositionRaw());
              break;
          }
      }
      
      Returns:
      The name of the updated property
    • getEntity

      @Nonnull E getEntity()
      The affected entity
      Returns:
      The affected entity
    • getOldValue

      @Nullable T getOldValue()
      The old value
      Returns:
      The old value
    • getNewValue

      @Nullable T getNewValue()
      The new value
      Returns:
      The new value