Interface Manager<M extends Manager<M>>

    • Method Detail

      • setPermissionChecksEnabled

        static void setPermissionChecksEnabled​(boolean enable)
        Enables internal checks for missing permissions
        When this is disabled the chances of hitting a ErrorResponse.MISSING_PERMISSIONS is increased significantly, otherwise JDA will check permissions and cancel the execution using InsufficientPermissionException.
        Default: true
        Parameters:
        enable - True, if JDA should perform permissions checks internally
        See Also:
        isPermissionChecksEnabled()
      • setCheck

        @Nonnull
        M setCheck​(java.util.function.BooleanSupplier checks)
        Description copied from interface: AuditableRestAction
        Sets the last-second checks before finally executing the http request in the queue.
        If the provided supplier evaluates to false or throws an exception this will not be finished. When an exception is thrown from the supplier it will be provided to the failure callback.
        Specified by:
        setCheck in interface AuditableRestAction<M extends Manager<M>>
        Specified by:
        setCheck in interface RestAction<M extends Manager<M>>
        Parameters:
        checks - The checks to run before executing the request, or null to run no checks
        Returns:
        The current RestAction for chaining convenience
        See Also:
        RestAction.getCheck(), RestAction.addCheck(BooleanSupplier)
      • timeout

        @Nonnull
        M timeout​(long timeout,
                  @Nonnull
                  java.util.concurrent.TimeUnit unit)
        Description copied from interface: AuditableRestAction
        Timeout for this RestAction instance.
        If the request doesn't get executed within the timeout it will fail.

        When a RestAction times out, it will fail with a TimeoutException. This is the same as deadline(System.currentTimeMillis() + unit.toMillis(timeout)).

        Example

        
         action.timeout(10, TimeUnit.SECONDS) // 10 seconds from now
               .queueAfter(20, SECONDS); // request will not be executed within deadline and timeout immediately after 20 seconds
         
        Specified by:
        timeout in interface AuditableRestAction<M extends Manager<M>>
        Specified by:
        timeout in interface RestAction<M extends Manager<M>>
        Parameters:
        timeout - The timeout to use
        unit - Unit for the timeout value
        Returns:
        The same RestAction instance with the applied timeout
        See Also:
        RestAction.setDefaultTimeout(long, TimeUnit)
      • deadline

        @Nonnull
        M deadline​(long timestamp)
        Description copied from interface: AuditableRestAction
        Similar to RestAction.timeout(long, TimeUnit) but schedules a deadline at which the request has to be completed.
        If the deadline is reached, the request will fail with a TimeoutException.

        This does not mean that the request will immediately timeout when the deadline is reached. JDA will check the deadline right before executing the request or within intervals in a worker thread. This only means the request will timeout if the deadline has passed.

        Example

        
         action.deadline(System.currentTimeMillis() + 10000) // 10 seconds from now
               .queueAfter(20, SECONDS); // request will not be executed within deadline and timeout immediately after 20 seconds
         
        Specified by:
        deadline in interface AuditableRestAction<M extends Manager<M>>
        Specified by:
        deadline in interface RestAction<M extends Manager<M>>
        Parameters:
        timestamp - Millisecond timestamp at which the request will timeout
        Returns:
        The same RestAction with the applied deadline
        See Also:
        RestAction.timeout(long, TimeUnit), RestAction.setDefaultTimeout(long, TimeUnit)
      • reset

        @Nonnull
        @CheckReturnValue
        M reset​(long fields)
      • reset

        @Nonnull
        @CheckReturnValue
        M reset​(long... fields)
      • reset

        @Nonnull
        @CheckReturnValue
        M reset()
        Resets all fields for this Manager
        Returns:
        The current Manager with all settings reset to default