Class PathPermissions

java.lang.Object
com.azure.storage.file.datalake.models.PathPermissions

public class PathPermissions extends Object
Represents POSIX-style permissions on a given resource. Each resource specifies permissions for the owner, the owning group, and everyone else. Permissions for users or groups not included here can be set using an Access Control List. Manipulating resource permissions is only supported when ADLS interop and Hierarchical Namespace are enabled.
  • Constructor Details

    • PathPermissions

      public PathPermissions()
      Initializes a new instance of PathPermissions by setting each member to a new instance of RolePermissions.
  • Method Details

    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • parseOctal

      public static PathPermissions parseOctal(String octal)
      Converts an octal string into a PathPermissions object. e.g. 1752 0/1 in the first digit indicates sticky bit. Each subsequent octal character can be expanded into three bits. In order of MSB to LSB, the bits represent read, write, execute.
      Parameters:
      octal - The octal representation of the permissions.
      Returns:
      The permissions parsed out into a PathPermissions instance.
      Throws:
      IllegalArgumentException - if the String does not match the format.
    • parseSymbolic

      public static PathPermissions parseSymbolic(String str)
      Converts a symbolic representation of the permissions into a PathPermissions object. e.g. rwxr-x-wT Each set of three characters correspondes to owner, owning group, and other respectively. 'r', 'w', and 'x' respectively refer to read, write, and execute. A '-' indicates the permission is not given. The sticky bit, if set, takes the place of the last execute bit; a 't' takes the place of 'x' and a 'T' takes the place of '-'.
      Parameters:
      str - The symbolic representation of the permissions.
      Returns:
      The permissions parsed out into a PathPermissions instance.
      Throws:
      IllegalArgumentException - if the String does not match the format.
    • toString

      public String toString()
      Converts this object into its octal representation.
      Overrides:
      toString in class Object
      Returns:
      A String that represents the permissions in octal.
    • getOwner

      public RolePermissions getOwner()
      Returns the RolePermissions for the owner of the resource.
      Returns:
      the RolePermissions for the owner of the resource.
    • getGroup

      public RolePermissions getGroup()
      Returns the RolePermissions for the owning group of the resource.
      Returns:
      the RolePermissions for the owning group of the resource.
    • getOther

      public RolePermissions getOther()
      Returns the RolePermissions for the other users.
      Returns:
      the RolePermissions for the other users.
    • setOwner

      public PathPermissions setOwner(RolePermissions owner)
      Sets the permissions for the owner of the resource.
      Parameters:
      owner - The RolePermissions that specify what permissions the owner should have.
      Returns:
      The updated PathPermissions object.
    • setGroup

      public PathPermissions setGroup(RolePermissions group)
      Sets the permissions for the owning group of the resource.
      Parameters:
      group - The RolePermissions that specify what permissions the owning group should have.
      Returns:
      The updated PathPermissions object.
    • setOther

      public PathPermissions setOther(RolePermissions other)
      Sets the permissions for the other users of the resource.
      Parameters:
      other - The RolePermissions that specify what permissions other users should have.
      Returns:
      The updated PathPermissions object.
    • isStickyBitSet

      public boolean isStickyBitSet()
      Returns whether or not the sticky bit has been set. The sticky bit may be set on directories, the files in that directory may only be renamed or deleted by the file's owner, the directory's owner, or the root user.
      Returns:
      true if the sticky bit is set and false otherwise.
    • setStickyBit

      public PathPermissions setStickyBit(boolean hasStickyBit)
      Sets the value of the sticky bit. The sticky bit may be set on directories, the files in that directory may only be renamed or deleted by the file's owner, the directory's owner, or the root user.
      Parameters:
      hasStickyBit - True to set the sticky bit and false to clear it.
      Returns:
      The updated PathPermissions object.
    • isExtendedInfoInAcl

      public boolean isExtendedInfoInAcl()
      Returns whether or not there is more permissions information in the ACLs. The permissions string only returns information on the owner, owning group, and other, but the ACLs may contain more permissions for specific users or groups.
      Returns:
      true if there is more information in the ACL. false otherwise.