1e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera/* 2e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. 3e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 5e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * This code is free software; you can redistribute it and/or modify it 6e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * under the terms of the GNU General Public License version 2 only, as 7e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * published by the Free Software Foundation. Oracle designates this 8e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * particular file as subject to the "Classpath" exception as provided 9e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * by Oracle in the LICENSE file that accompanied this code. 10e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 11e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * This code is distributed in the hope that it will be useful, but WITHOUT 12e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * version 2 for more details (a copy is included in the LICENSE file that 15e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * accompanied this code). 16e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 17e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * You should have received a copy of the GNU General Public License version 18e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 2 along with this work; if not, write to the Free Software Foundation, 19e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 21e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * or visit www.oracle.com if you need additional information or have any 23e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * questions. 24e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera */ 25e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera 26e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmerapackage java.nio.file.attribute; 27e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera 28e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmeraimport java.util.Set; 29e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera 30e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera/** 31e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * File attributes associated with files on file systems used by operating systems 32e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * that implement the Portable Operating System Interface (POSIX) family of 33e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * standards. 34e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 35e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * <p> The POSIX attributes of a file are retrieved using a {@link 36e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * PosixFileAttributeView} by invoking its {@link 37e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * PosixFileAttributeView#readAttributes readAttributes} method. 38e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 39e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * @since 1.7 40e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera */ 41e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera 42e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmerapublic interface PosixFileAttributes 43e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera extends BasicFileAttributes 44e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera{ 45e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera /** 46e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * Returns the owner of the file. 47e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 48e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * @return the file owner 49e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 50e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * @see PosixFileAttributeView#setOwner 51e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera */ 52e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera UserPrincipal owner(); 53e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera 54e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera /** 55e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * Returns the group owner of the file. 56e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 57e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * @return the file group owner 58e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 59e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * @see PosixFileAttributeView#setGroup 60e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera */ 61e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera GroupPrincipal group(); 62e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera 63e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera /** 64e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * Returns the permissions of the file. The file permissions are returned 65e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * as a set of {@link PosixFilePermission} elements. The returned set is a 66e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * copy of the file permissions and is modifiable. This allows the result 67e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * to be modified and passed to the {@link PosixFileAttributeView#setPermissions 68e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * setPermissions} method to update the file's permissions. 69e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 70e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * @return the file permissions 71e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * 72e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera * @see PosixFileAttributeView#setPermissions 73e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera */ 74e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera Set<PosixFilePermission> permissions(); 75e6bac4bf9c85c2454ce22c91da6c654552c268e0Shubham Ajmera} 76