org.gridlab.gat.io.attributes
Class PosixFilePermissions

java.lang.Object
  extended by org.gridlab.gat.io.attributes.PosixFilePermissions

public class PosixFilePermissions
extends Object

This class consists exclusively of static methods that operate on sets of PosixFilePermission objects.

Since:
1.7

Method Summary
static FileAttribute<Set<PosixFilePermission>> asFileAttribute(Set<PosixFilePermission> perms)
          Creates a FileAttribute, encapsulating a copy of the given file permissions.
static Set<PosixFilePermission> fromString(String perms)
          Returns the set of permissions corresponding to a given String representation.
static String toString(Set<PosixFilePermission> perms)
          Returns the String representation of a set of permissions.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

toString

public static String toString(Set<PosixFilePermission> perms)
Returns the String representation of a set of permissions.

If the set contains null or elements that are not of type PosixFilePermission then these elements are ignored.

Parameters:
perms - the set of permissions
Returns:
the string representation of the permission set
See Also:
fromString(java.lang.String)

fromString

public static Set<PosixFilePermission> fromString(String perms)
Returns the set of permissions corresponding to a given String representation.

The perms parameter is a String representing the permissions. It has 9 characters that are interpreted as three sets of three. The first set refers to the owner's permissions; the next to the group permissions and the last to others. Within each set, the first character is 'r' to indicate permission to read, the second character is 'w' to indicate permission to write, and the third character is 'x' for execute permission. Where a permission is not set then the corresponding character is set to '-'.

Usage Example: Suppose we require the set of permissions that indicate the owner has read, write, and execute permissions, the group has read and execute permissions and others have none.

   Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxr-x---");
 

Parameters:
perms - string representing a set of permissions
Returns:
the resulting set of permissions
Throws:
IllegalArgumentException - if the string cannot be converted to a set of permissions
See Also:
toString(Set)

asFileAttribute

public static FileAttribute<Set<PosixFilePermission>> asFileAttribute(Set<PosixFilePermission> perms)
Creates a FileAttribute, encapsulating a copy of the given file permissions.

Parameters:
perms - the set of permissions
Returns:
an attribute encapsulating the given file permissions with name "posix:permissions"
Throws:
ClassCastException - if the set contains elements that are not of type PosixFilePermission