Package org.apache.tools.ant.util
Class PermissionUtils
java.lang.Object
org.apache.tools.ant.util.PermissionUtils
public class PermissionUtils
extends java.lang.Object
Contains helper methods for dealing with
PosixFilePermission
or the traditional Unix mode representation of
permissions.- Since:
- Ant 1.10.0
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PermissionUtils.FileType
The supported types of files, maps to theisFoo
methods inBasicFileAttributes
. -
Method Summary
Modifier and Type Method Description static java.util.Set<java.nio.file.attribute.PosixFilePermission>
getPermissions(Resource r, java.util.function.Function<java.nio.file.Path,java.util.Set<java.nio.file.attribute.PosixFilePermission>> posixNotSupportedFallback)
Sets permissions of aResource
- returns an empty set for unsupported resource types or file systems that don't support PosixFilePermissions and no fallback has been provided..static int
modeFromPermissions(java.util.Set<java.nio.file.attribute.PosixFilePermission> permissions, PermissionUtils.FileType type)
Translates a set of permissions into a Unix stat(2)st_mode
result.static java.util.Set<java.nio.file.attribute.PosixFilePermission>
permissionsFromMode(int mode)
Translates a Unix stat(2)st_mode
compatible value into a set of permissions.static void
setPermissions(Resource r, java.util.Set<java.nio.file.attribute.PosixFilePermission> permissions, java.util.function.Consumer<java.nio.file.Path> posixNotSupportedCallback)
Sets permissions on aResource
- doesn't do anything for unsupported resource types.
-
Method Details
-
modeFromPermissions
public static int modeFromPermissions(java.util.Set<java.nio.file.attribute.PosixFilePermission> permissions, PermissionUtils.FileType type)Translates a set of permissions into a Unix stat(2)st_mode
result.- Parameters:
permissions
- the permissionstype
- the file type- Returns:
- the "mode"
-
permissionsFromMode
public static java.util.Set<java.nio.file.attribute.PosixFilePermission> permissionsFromMode(int mode)Translates a Unix stat(2)st_mode
compatible value into a set of permissions.- Parameters:
mode
- the "mode"- Returns:
- set of permissions
-
setPermissions
public static void setPermissions(Resource r, java.util.Set<java.nio.file.attribute.PosixFilePermission> permissions, java.util.function.Consumer<java.nio.file.Path> posixNotSupportedCallback) throws java.io.IOExceptionSets permissions on aResource
- doesn't do anything for unsupported resource types.Supported types are:
- Parameters:
r
- the resource to set permissions forpermissions
- the permissionsposixNotSupportedCallback
- optional callback that is invoked for a file provider resource if the file-system holding the file doesn't support PosixFilePermissions. The Path corresponding to the file is passed to the callback.- Throws:
java.io.IOException
- if something goes wrong
-
getPermissions
public static java.util.Set<java.nio.file.attribute.PosixFilePermission> getPermissions(Resource r, java.util.function.Function<java.nio.file.Path,java.util.Set<java.nio.file.attribute.PosixFilePermission>> posixNotSupportedFallback) throws java.io.IOExceptionSets permissions of aResource
- returns an empty set for unsupported resource types or file systems that don't support PosixFilePermissions and no fallback has been provided..Supported types are:
- Parameters:
r
- the resource to read permissions fromposixNotSupportedFallback
- optional fallback function to provide permissions for file system that don't support PosixFilePermissions. The Path corresponding to the file is passed to the callback.- Returns:
- the permissions
- Throws:
java.io.IOException
- if something goes wrong
-