java.io.ObjectInputValidation, java.io.Serializable, WritableFsCreateModes@Public @Stable public class FsPermission extends java.lang.Object implements Writable, java.io.Serializable, java.io.ObjectInputValidation
| Modifier and Type | Field | Description |
|---|---|---|
static int |
DEFAULT_UMASK |
|
static int |
MAX_PERMISSION_LENGTH |
Maximum acceptable length of a permission string to parse
|
static java.lang.String |
UMASK_LABEL |
| Constructor | Description |
|---|---|
FsPermission(int mode) |
Construct by the given mode.
|
FsPermission(short mode) |
Construct by the given mode.
|
FsPermission(java.lang.String mode) |
Construct by given mode, either in octal or symbolic format.
|
FsPermission(FsAction u,
FsAction g,
FsAction o) |
Construct by the given
FsAction. |
FsPermission(FsAction u,
FsAction g,
FsAction o,
boolean sb) |
|
FsPermission(FsPermission other) |
Copy constructor
|
| Modifier and Type | Method | Description |
|---|---|---|
FsPermission |
applyUMask(FsPermission umask) |
Apply a umask to this permission and return a new one.
|
static FsPermission |
createImmutable(short permission) |
Create an immutable
FsPermission object. |
boolean |
equals(java.lang.Object obj) |
|
void |
fromShort(short n) |
|
boolean |
getAclBit() |
Deprecated.
Get acl bit from the
FileStatus
object. |
static FsPermission |
getCachePoolDefault() |
Get the default permission for cache pools.
|
static FsPermission |
getDefault() |
Get the default permission for directory and symlink.
|
static FsPermission |
getDirDefault() |
Get the default permission for directory.
|
boolean |
getEncryptedBit() |
Deprecated.
Get encryption bit from the
FileStatus object. |
boolean |
getErasureCodedBit() |
Deprecated.
Get ec bit from the
FileStatus
object. |
static FsPermission |
getFileDefault() |
Get the default permission for file.
|
FsAction |
getGroupAction() |
|
FsPermission |
getMasked() |
Get masked permission if exists.
|
FsAction |
getOtherAction() |
|
boolean |
getStickyBit() |
|
static FsPermission |
getUMask(Configuration conf) |
Get the user file creation mask (umask)
UMASK_LABEL config param has umask value that is either symbolic
or octal. |
FsPermission |
getUnmasked() |
Get unmasked permission if exists.
|
FsAction |
getUserAction() |
|
int |
hashCode() |
|
static FsPermission |
read(java.io.DataInput in) |
Create and initialize a
FsPermission from DataInput. |
void |
readFields(java.io.DataInput in) |
Deprecated.
|
static void |
setUMask(Configuration conf,
FsPermission umask) |
Set the user file creation mask (umask)
|
short |
toExtendedShort() |
Deprecated.
|
short |
toOctal() |
Returns the FsPermission in an octal format.
|
short |
toShort() |
Encode the object to a short.
|
java.lang.String |
toString() |
|
void |
validateObject() |
|
static FsPermission |
valueOf(java.lang.String unixSymbolicPermission) |
Create a FsPermission from a Unix symbolic permission string
|
void |
write(java.io.DataOutput out) |
Deprecated.
|
public static final int MAX_PERMISSION_LENGTH
public static final java.lang.String UMASK_LABEL
public static final int DEFAULT_UMASK
public FsPermission(FsAction u, FsAction g, FsAction o)
FsAction.u - user actiong - group actiono - other actionpublic FsPermission(short mode)
mode - mode.toShort()public FsPermission(int mode)
before mask after mask file type sticky bit
octal 100644 644 file no
decimal 33188 420
octal 101644 1644 file yes
decimal 33700 1420
octal 40644 644 directory no
decimal 16804 420
octal 41644 1644 directory yes
decimal 17316 1420
100644 becomes 644 while 644 remains as 644mode - Mode is supposed to come from the result of native stat() call.
It contains complete permission information: rwxrwxrwx, sticky
bit, whether it is a directory or a file, etc. Upon applying
mask, only permission and sticky bit info will be kept because
they are the only parts to be used for now.FsPermission(short mode)public FsPermission(FsPermission other)
other - other permissionpublic FsPermission(java.lang.String mode)
mode - mode as a string, either in octal or symbolic formatjava.lang.IllegalArgumentException - if mode is invalidpublic static FsPermission createImmutable(short permission)
FsPermission object.permission - permission.public void fromShort(short n)
@Deprecated
public void write(java.io.DataOutput out)
throws java.io.IOException
Writableout.@Deprecated
public void readFields(java.io.DataInput in)
throws java.io.IOException
Writablein.
For efficiency, implementations should attempt to re-use storage in the existing object where possible.
readFields in interface Writablein - DataInput to deseriablize this object from.java.io.IOException - any other problem for readFields.public FsPermission getMasked()
public FsPermission getUnmasked()
public static FsPermission read(java.io.DataInput in) throws java.io.IOException
FsPermission from DataInput.in - data input.java.io.IOException - raised on errors performing I/O.public short toShort()
@Deprecated public short toExtendedShort()
toShort(), this method may
return values outside the fixed range 00000 - 01777 if extended features
are encoded into this permission, such as the ACL bit.public short toOctal()
toShort() which provides a binary
representation, this method returns the standard octal style permission.public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic FsPermission applyUMask(FsPermission umask)
umask - The umask to usepublic static FsPermission getUMask(Configuration conf)
UMASK_LABEL config param has umask value that is either symbolic
or octal.
Symbolic umask is applied relative to file mode creation mask;
the permission op characters '+' clears the corresponding bit in the mask,
'-' sets bits in the mask.
Octal umask, the specified bits are set in the file mode creation mask.conf - configuration.public boolean getStickyBit()
@Deprecated public boolean getAclBit()
FileStatus
object.@Deprecated public boolean getEncryptedBit()
FileStatus object.@Deprecated public boolean getErasureCodedBit()
FileStatus
object.public static void setUMask(Configuration conf, FsPermission umask)
conf - configuration.umask - umask.public static FsPermission getDefault()
getDirDefault() for directory, and use
getFileDefault() for file.
This method is kept for compatibility.public static FsPermission getDirDefault()
public static FsPermission getFileDefault()
public static FsPermission getCachePoolDefault()
public static FsPermission valueOf(java.lang.String unixSymbolicPermission)
unixSymbolicPermission - e.g. "-rw-rw-rw-"public void validateObject()
throws java.io.InvalidObjectException
validateObject in interface java.io.ObjectInputValidationjava.io.InvalidObjectExceptionCopyright © 2008–2025 Apache Software Foundation. All rights reserved.