Java AclEntry flags

PreviousNext

Java AclEntry flags gets the acl entry flags.

Syntax

The field flags() from AclEntry is declared as:

Set<AclEntryFlag> flags();

Example

The following code shows how to use Java AclEntry.flags

Example 1

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.AclEntry;
import java.nio.file.attribute.AclEntryFlag;
import java.nio.file.attribute.AclEntryPermission;
import java.nio.file.attribute.AclFileAttributeView;
import java.util.List;
import java.util.Set;

public class Main {
    public static void main(String[] args) throws Exception {
        Path path = Paths.get("C:/home/docs/users.txt");
        AclFileAttributeView view = Files.getFileAttributeView(path, AclFileAttributeView.class);
        List<AclEntry> aclEntryList = view.getAcl();
        displayAclEntries(aclEntryList);
    }/* w w   w  .  d  e   mo  2   s .  c    o m */

    private static void displayAclEntries(List<AclEntry> aclEntryList) {
        System.out.println("ACL Entry List size: " + aclEntryList.size());
        for (AclEntry entry : aclEntryList) {
            System.out.println("User Principal Name: " + entry.principal().getName());
            System.out.println("ACL Entry Type: " + entry.type());
            displayEntryFlags(entry.flags());
            displayPermissions(entry.permissions());
            System.out.println();
        }
    }

    private static void displayPermissions(Set<AclEntryPermission> permissionSet) {
        if (permissionSet.isEmpty()) {
            return;
        }
        for (AclEntryPermission permission : permissionSet) {
            System.out.print(permission.name() + " ");
        }
        System.out.println();

    }

    private static void displayEntryFlags(Set<AclEntryFlag> flagSet) {
        if (flagSet.isEmpty()) {
            return;
        }
        for (AclEntryFlag flag : flagSet) {
            System.out.print(flag.name() + " ");
        }
        System.out.println();

    }
}

Example 2

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.AclEntry;
import java.nio.file.attribute.AclEntryFlag;
import java.nio.file.attribute.AclEntryPermission;
import java.nio.file.attribute.AclFileAttributeView;
import java.nio.file.attribute.GroupPrincipal;
import java.nio.file.attribute.UserPrincipal;
import java.nio.file.attribute.UserPrincipalLookupService;
import java.util.List;
import java.util.Set;

public class Main {

    public static void main(String[] args) throws Exception {
        Path path = Paths.get("C:/home/docs/users.txt");
        AclFileAttributeView view = Files.getFileAttributeView(path, AclFileAttributeView.class);
        List<AclEntry> aclEntryList = view.getAcl();
        for (AclEntry entry : aclEntryList) {
            System.out.println("User Principal Name: " + entry.principal().getName());
            System.out.println("ACL Entry Type: " + entry.type());
            displayEntryFlags(entry.flags());
            displayPermissions(entry.permissions());
            System.out.println();
        }//   w w  w    .  d  e  mo   2 s    .c    om  
    }

    private static void displayPermissions(Set<AclEntryPermission> permissionSet) {
        if (permissionSet.isEmpty()) {
            System.out.println("No Permissions present");
        } else {
            System.out.println("Permissions");
            for (AclEntryPermission permission : permissionSet) {
                System.out.println(permission.name() + " ");
            }
        }
    }

    private static void displayEntryFlags(Set<AclEntryFlag> flagSet) {
        if (flagSet.isEmpty()) {
            System.out.println("No ACL Entry Flags present");
        } else {
            System.out.println("ACL Entry Flags");
            for (AclEntryFlag flag : flagSet) {
                System.out.println(flag.name() + " ");
            }
        }
    }
}
PreviousNext

Related