Package org.gradle.api.file

## Interface FilePermissions

- All Known Subinterfaces:
    `ConfigurableFilePermissions`

      @Incubating
      public interface FilePermissions

  Describes file and directory access permissions for all classes of system users.

  Follows the style of Unix file permissions, based on the concept of file ownership.

  Permissions are grouped into 3 distinct categories (representing different classes of users):

  - OWNER (user) permissions: what actions the owner of the file/directory can perform on the file/directory
  - GROUP permissions: what actions a user, who is a member of the group that a file/directory belongs to, can perform on the file/directory
  - OTHER (world) permissions: what actions all other users (non-owner, non-group) can perform on the file/directory

  For further details on specific permission for a certain class of user see `UserClassFilePermissions`, but in essence each class of users can have the right to READ, WRITE or EXECUTE files.

  The default permissions used differ between files and directories and are as follows:

  - FILE: read & write for OWNER, read for GROUP, read for OTHER (0644, rw-r--r--)
  - DIRECTORY: read, write & execute for OWNER, read & execute for GROUP, read & execute for OTHER (0755, rwxr-xr-x)
  Since:
    8.3

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `UserClassFilePermissions` | `getGroup()` | Describes what actions a user, who is a member of the group that the file/directory belongs to, can perform on the file/directory.
    `UserClassFilePermissions` | `getOther()` | Describes what actions all other users (non-owner, non-group) can perform on the file/directory.
    `UserClassFilePermissions` | `getUser()` | Describes what actions the owner of the file can perform on the file/directory.
    `int` | `toUnixNumeric()` | Converts the permissions for the various user groups to a numeric Unix permission.

- - ### Method Detail

    - #### getUser

          UserClassFilePermissions getUser()

      Describes what actions the owner of the file can perform on the file/directory.

      For further details about possible actions see `UserClassFilePermissions`.

    - #### getGroup

          UserClassFilePermissions getGroup()

      Describes what actions a user, who is a member of the group that the file/directory belongs to, can perform on the file/directory.

      For further details about possible actions see `UserClassFilePermissions`.

    - #### getOther

          UserClassFilePermissions getOther()

      Describes what actions all other users (non-owner, non-group) can perform on the file/directory.

      For further details about possible actions see `UserClassFilePermissions`.

    - #### toUnixNumeric

          int toUnixNumeric()

      Converts the permissions for the various user groups to a numeric Unix permission. See `ConfigurableFilePermissions.unix(String)` for details.