PrivilegedAction (Java SE 17 & JDK 17)
Description: declaration: module: java.base, package: java.security, interface: PrivilegedAction
Keywords: java.security.PrivilegedAction interface

Module java.base
Package java.security

# Interface PrivilegedAction<T>

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface PrivilegedAction<T>
A computation to be performed with privileges enabled. The computation is performed by invoking `AccessController.doPrivileged` on the `PrivilegedAction` object. This interface is used only for computations that do not throw checked exceptions; computations that throw checked exceptions must use `PrivilegedExceptionAction` instead.

Since:
  1.2
See Also:
  - `AccessController`
  - `AccessController.doPrivileged(PrivilegedAction)`
  - `PrivilegedExceptionAction`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `T`
  `run()`
  Performs the computation.

- ## Method Details

  - ### run

    T run()
    Performs the computation. This method will be called by `AccessController.doPrivileged` after enabling privileges.
    Returns:
      a class-dependent value that may represent the results of the computation. Each class that implements `PrivilegedAction` should document what (if anything) this value represents.
    See Also:
      - `AccessController.doPrivileged(PrivilegedAction)`
      - `AccessController.doPrivileged(PrivilegedAction, AccessControlContext)`