Class GenericRoleUpdateEvent<T>

java.lang.Object
net.dv8tion.jda.api.events.Event
net.dv8tion.jda.api.events.role.GenericRoleEvent
net.dv8tion.jda.api.events.role.update.GenericRoleUpdateEvent<T>
All Implemented Interfaces:
GenericEvent, UpdateEvent<Role,T>
Direct Known Subclasses:
RoleUpdateColorEvent, RoleUpdateHoistedEvent, RoleUpdateIconEvent, RoleUpdateMentionableEvent, RoleUpdateNameEvent, RoleUpdatePermissionsEvent, RoleUpdatePositionEvent

public abstract class GenericRoleUpdateEvent<T> extends GenericRoleEvent implements UpdateEvent<Role,T>
Indicates that a Role was updated.
Every RoleUpdateEvent is derived from this event and can be casted.

Can be used to detect any RoleUpdateEvent.

  • Constructor Details

    • GenericRoleUpdateEvent

      public GenericRoleUpdateEvent(@Nonnull JDA api, long responseNumber, @Nonnull Role role, @Nullable T previous, @Nullable T next, @Nonnull String identifier)
  • Method Details

    • getEntity

      @Nonnull public Role getEntity()
      Description copied from interface: UpdateEvent
      The affected entity
      Specified by:
      getEntity in interface UpdateEvent<Role,T>
      Returns:
      The affected entity
    • getPropertyIdentifier

      @Nonnull public String getPropertyIdentifier()
      Description copied from interface: UpdateEvent
      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;
          default: return;
          }
      }
      
      Specified by:
      getPropertyIdentifier in interface UpdateEvent<Role,T>
      Returns:
      The name of the updated property
    • getOldValue

      @Nullable public T getOldValue()
      Description copied from interface: UpdateEvent
      The old value
      Specified by:
      getOldValue in interface UpdateEvent<Role,T>
      Returns:
      The old value
    • getNewValue

      @Nullable public T getNewValue()
      Description copied from interface: UpdateEvent
      The new value
      Specified by:
      getNewValue in interface UpdateEvent<Role,T>
      Returns:
      The new value