public ZTFilePermissions getPermissions(File file) { ZTFilePermissions permissions = new ZTFilePermissions(); permissions.setDirectory(file.isDirectory()); Set<?> posixFilePermissions = getPosixFilePermissions(file); permissions.setOwnerCanRead( posixFilePermissions.contains(OWNER_READ)); permissions.setOwnerCanWrite( posixFilePermissions.contains(OWNER_WRITE)); permissions.setOwnerCanExecute(posixFilePermissions.contains(OWNER_EXECUTE)); permissions.setGroupCanRead( posixFilePermissions.contains(GROUP_READ)); permissions.setGroupCanWrite( posixFilePermissions.contains(GROUP_WRITE)); permissions.setGroupCanExecute(posixFilePermissions.contains(GROUP_EXECUTE)); permissions.setOthersCanRead( posixFilePermissions.contains(OTHERS_READ)); permissions.setOthersCanWrite( posixFilePermissions.contains(OTHERS_WRITE)); permissions.setOthersCanExecute(posixFilePermissions.contains(OTHERS_EXECUTE)); return permissions; }
public ZTFilePermissions getPermissions(File file) { ZTFilePermissions permissions = new ZTFilePermissions(); permissions.setDirectory(file.isDirectory()); if (canExecute(file)) { // set execute flag only for owner permissions.setOwnerCanExecute(true); } if (file.canWrite()) { // 0644 for files and 0666 for directories // this is a quite common choice for shared installations permissions.setOwnerCanWrite(true); if (file.isDirectory()) { permissions.setGroupCanWrite(true); permissions.setOthersCanWrite(true); } } if (file.canRead()) { permissions.setOwnerCanRead(true); permissions.setGroupCanRead(true); permissions.setOthersCanRead(true); } return permissions; }
/** * Convert Posix mode to {@link ZTFilePermissions} * * @param mode * @return */ static ZTFilePermissions fromPosixFileMode(int mode) { ZTFilePermissions permissions = new ZTFilePermissions(); permissions.setOwnerCanExecute( (mode & OWNER_EXECUTE_FLAG) > 0 ); permissions.setGroupCanExecute( (mode & GROUP_EXECUTE_FLAG) > 0 ); permissions.setOthersCanExecute((mode & OTHERS_EXECUTE_FLAG) > 0 ); permissions.setOwnerCanWrite( (mode & OWNER_WRITE_FLAG) > 0 ); permissions.setGroupCanWrite( (mode & GROUP_WRITE_FLAG) > 0 ); permissions.setOthersCanWrite((mode & OTHERS_WRITE_FLAG) > 0 ); permissions.setOwnerCanRead( (mode & OWNER_READ_FLAG) > 0 ); permissions.setGroupCanRead( (mode & GROUP_READ_FLAG) > 0 ); permissions.setOthersCanRead((mode & OTHERS_READ_FLAG) > 0 ); return permissions; }
public ZTFilePermissions getPermissions(File file) { ZTFilePermissions permissions = new ZTFilePermissions(); permissions.setDirectory(file.isDirectory()); Set<?> posixFilePermissions = getPosixFilePermissions(file); permissions.setOwnerCanRead( posixFilePermissions.contains(OWNER_READ)); permissions.setOwnerCanWrite( posixFilePermissions.contains(OWNER_WRITE)); permissions.setOwnerCanExecute(posixFilePermissions.contains(OWNER_EXECUTE)); permissions.setGroupCanRead( posixFilePermissions.contains(GROUP_READ)); permissions.setGroupCanWrite( posixFilePermissions.contains(GROUP_WRITE)); permissions.setGroupCanExecute(posixFilePermissions.contains(GROUP_EXECUTE)); permissions.setOthersCanRead( posixFilePermissions.contains(OTHERS_READ)); permissions.setOthersCanWrite( posixFilePermissions.contains(OTHERS_WRITE)); permissions.setOthersCanExecute(posixFilePermissions.contains(OTHERS_EXECUTE)); return permissions; }
public ZTFilePermissions getPermissions(File file) { ZTFilePermissions permissions = new ZTFilePermissions(); permissions.setDirectory(file.isDirectory()); if (canExecute(file)) { // set execute flag only for owner permissions.setOwnerCanExecute(true); } if (file.canWrite()) { // 0644 for files and 0666 for directories // this is a quite common choice for shared installations permissions.setOwnerCanWrite(true); if (file.isDirectory()) { permissions.setGroupCanWrite(true); permissions.setOthersCanWrite(true); } } if (file.canRead()) { permissions.setOwnerCanRead(true); permissions.setGroupCanRead(true); permissions.setOthersCanRead(true); } return permissions; }
/** * Convert Posix mode to {@link ZTFilePermissions} * * @param mode * @return */ static ZTFilePermissions fromPosixFileMode(int mode) { ZTFilePermissions permissions = new ZTFilePermissions(); permissions.setOwnerCanExecute( (mode & OWNER_EXECUTE_FLAG) > 0 ); permissions.setGroupCanExecute( (mode & GROUP_EXECUTE_FLAG) > 0 ); permissions.setOthersCanExecute((mode & OTHERS_EXECUTE_FLAG) > 0 ); permissions.setOwnerCanWrite( (mode & OWNER_WRITE_FLAG) > 0 ); permissions.setGroupCanWrite( (mode & GROUP_WRITE_FLAG) > 0 ); permissions.setOthersCanWrite((mode & OTHERS_WRITE_FLAG) > 0 ); permissions.setOwnerCanRead( (mode & OWNER_READ_FLAG) > 0 ); permissions.setGroupCanRead( (mode & GROUP_READ_FLAG) > 0 ); permissions.setOthersCanRead((mode & OTHERS_READ_FLAG) > 0 ); return permissions; }