Class AuditLogEntry

  • All Implemented Interfaces:
    ISnowflake

    public class AuditLogEntry
    extends java.lang.Object
    implements ISnowflake
    Single entry for an AuditLogPaginationAction.
    This entry contains all options/changes and details for the action that was logged by the Guild audit-logs.
    • Constructor Detail

      • AuditLogEntry

        public AuditLogEntry​(ActionType type,
                             int rawType,
                             long id,
                             long targetId,
                             net.dv8tion.jda.internal.entities.GuildImpl guild,
                             net.dv8tion.jda.internal.entities.UserImpl user,
                             net.dv8tion.jda.internal.entities.WebhookImpl webhook,
                             java.lang.String reason,
                             java.util.Map<java.lang.String,​AuditLogChange> changes,
                             java.util.Map<java.lang.String,​java.lang.Object> options)
    • Method Detail

      • getIdLong

        public long getIdLong()
        Description copied from interface: ISnowflake
        The Snowflake id of this entity. This is unique to every entity and will never change.
        Specified by:
        getIdLong in interface ISnowflake
        Returns:
        Long containing the Id.
      • getTargetIdLong

        public long getTargetIdLong()
        The id for the target entity.
        This references an entity based on the TargetType which is specified by getTargetType()!
        Returns:
        The target id
      • getTargetId

        @Nonnull
        public java.lang.String getTargetId()
        The id for the target entity.
        This references an entity based on the TargetType which is specified by getTargetType()!
        Returns:
        The target id
      • getWebhook

        @Nullable
        public Webhook getWebhook()
        The Webhook that the target id of this audit-log entry refers to
        Returns:
        Possibly-null Webhook instance
      • getGuild

        @Nonnull
        public Guild getGuild()
        The Guild this audit-log entry refers to
        Returns:
        The Guild instance
      • getUser

        @Nullable
        public User getUser()
        The User responsible for this action.
        Returns:
        Possibly-null User instance
      • getReason

        @Nullable
        public java.lang.String getReason()
        The optional reason why this action was executed.
        Returns:
        Possibly-null reason String
      • getJDA

        @Nonnull
        public JDA getJDA()
        The corresponding JDA instance of the referring Guild
        Returns:
        The corresponding JDA instance
      • getChanges

        @Nonnull
        public java.util.Map<java.lang.String,​AuditLogChange> getChanges()
        Key-Value Map containing all AuditLogChanges made in this entry. The keys for the returned map are case-insensitive keys defined in the regarding AuditLogChange value.
        To iterate only the changes you can use Map.values()!
        Returns:
        Key-Value Map of changes
      • getChangeByKey

        @Nullable
        public AuditLogChange getChangeByKey​(@Nullable
                                             AuditLogKey key)
        Shortcut to getChanges().get(key) lookup!
        This lookup is case-insensitive!
        Parameters:
        key - The AuditLogKey to look for
        Returns:
        Possibly-null value corresponding to the specified key
      • getChangeByKey

        @Nullable
        public AuditLogChange getChangeByKey​(@Nullable
                                             java.lang.String key)
        Shortcut to getChanges().get(key) lookup!
        This lookup is case-insensitive!
        Parameters:
        key - The key to look for
        Returns:
        Possibly-null value corresponding to the specified key
      • getChangesForKeys

        @Nonnull
        public java.util.List<AuditLogChange> getChangesForKeys​(@Nonnull
                                                                AuditLogKey... keys)
        Filters all changes by the specified keys
        Parameters:
        keys - Varargs AuditLogKeys to look for
        Returns:
        Possibly-empty, never-null immutable list of AuditLogChanges
        Throws:
        java.lang.IllegalArgumentException - If provided with null array
      • getOptions

        @Nonnull
        public java.util.Map<java.lang.String,​java.lang.Object> getOptions()
        Key-Value Map containing all Options made in this entry. The keys for the returned map are case-insensitive keys defined in the regarding AuditLogChange value.
        To iterate only the changes you can use Map.values()!

        Options may include secondary targets or details that do not qualify as "change".
        An example of that would be the member option for CHANNEL_OVERRIDE_UPDATE containing the user_id of a Member.

        Returns:
        Key-Value Map of changes
      • getOptionByName

        @Nullable
        public <T> T getOptionByName​(@Nullable
                                     java.lang.String name)
        Shortcut to getOptions().get(name) lookup!
        This lookup is case-insensitive!
        Type Parameters:
        T - The expected type for this option
        Will be used for casting
        Parameters:
        name - The field name to look for
        Returns:
        Possibly-null value corresponding to the specified key
        Throws:
        java.lang.ClassCastException - If the type-cast failed for the generic type.
      • getOption

        @Nullable
        public <T> T getOption​(@Nonnull
                               AuditLogOption option)
        Shortcut to getOptions().get(name) lookup!
        Type Parameters:
        T - The expected type for this option
        Will be used for casting
        Parameters:
        option - The AuditLogOption
        Returns:
        Possibly-null value corresponding to the specified option constant
        Throws:
        java.lang.ClassCastException - If the type-cast failed for the generic type.
        java.lang.IllegalArgumentException - If provided with null option.
      • getOptions

        @Nonnull
        public java.util.List<java.lang.Object> getOptions​(@Nonnull
                                                           AuditLogOption... options)
        Constructs a filtered, immutable list of options corresponding to the provided AuditLogOptions.
        This will exclude options with null values!
        Parameters:
        options - The not-null AuditLogOptions which will be used to gather option values via getOption(AuditLogOption)!
        Returns:
        Unmodifiable list of representative values
        Throws:
        java.lang.IllegalArgumentException - If provided with null options
      • getTypeRaw

        public int getTypeRaw()
        The raw type value used to derive getType().
        This can be used when a new action type is not yet supported by JDA.
        Returns:
        The raw type value
      • getTargetType

        @Nonnull
        public TargetType getTargetType()
        The TargetType defining what kind of entity was targeted by this action.
        Shortcut for getType().getTargetType()
        Returns:
        The TargetType
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object