/** * 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 void setPermissions(File file, ZTFilePermissions permissions) { setExecutable(file, permissions.isOwnerCanExecute(), !permissions.isGroupCanExecute() && !permissions.isOthersCanExecute()); setWritable(file, permissions.isOwnerCanWrite(), !permissions.isGroupCanWrite() && !permissions.isOthersCanWrite()); setReadable(file, permissions.isOwnerCanRead(), !permissions.isGroupCanRead() && !permissions.isOthersCanRead()); }
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 void setPermissions(File file, ZTFilePermissions permissions) { Set<Object> set = new HashSet<Object>(); addIf(permissions.isOwnerCanRead(), set, OWNER_READ); addIf(permissions.isOwnerCanRead(), set,OWNER_READ); addIf(permissions.isOwnerCanWrite(), set,OWNER_WRITE); addIf(permissions.isOwnerCanExecute(),set,OWNER_EXECUTE); addIf(permissions.isGroupCanRead(), set,GROUP_READ); addIf(permissions.isGroupCanWrite(), set,GROUP_WRITE); addIf(permissions.isGroupCanExecute(),set,GROUP_EXECUTE); addIf(permissions.isOthersCanRead(), set,OTHERS_READ); addIf(permissions.isOthersCanWrite(), set,OTHERS_WRITE); addIf(permissions.isOthersCanExecute(),set,OTHERS_EXECUTE); setPosixFilePermissions(file, set); }
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 {@link ZTFilePermissions} to POSIX file permission bit array. * * * @param permissions permissions * @return Posix mode */ static int toPosixFileMode(ZTFilePermissions permissions) { int mode = 0; mode |= addFlag(permissions.isOwnerCanExecute(), OWNER_EXECUTE_FLAG); mode |= addFlag(permissions.isGroupCanExecute(), GROUP_EXECUTE_FLAG); mode |= addFlag(permissions.isOthersCanExecute(), OTHERS_EXECUTE_FLAG); mode |= addFlag(permissions.isOwnerCanWrite(), OWNER_WRITE_FLAG); mode |= addFlag(permissions.isGroupCanWrite(), GROUP_WRITE_FLAG); mode |= addFlag(permissions.isOthersCanWrite(), OTHERS_WRITE_FLAG); mode |= addFlag(permissions.isOwnerCanRead(), OWNER_READ_FLAG); mode |= addFlag(permissions.isGroupCanRead(), GROUP_READ_FLAG); mode |= addFlag(permissions.isOthersCanRead(), OTHERS_READ_FLAG); return mode; }
/** * 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 void setPermissions(File file, ZTFilePermissions permissions) { setExecutable(file, permissions.isOwnerCanExecute(), !permissions.isGroupCanExecute() && !permissions.isOthersCanExecute()); setWritable(file, permissions.isOwnerCanWrite(), !permissions.isGroupCanWrite() && !permissions.isOthersCanWrite()); setReadable(file, permissions.isOwnerCanRead(), !permissions.isGroupCanRead() && !permissions.isOthersCanRead()); }
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 void setPermissions(File file, ZTFilePermissions permissions) { Set<Object> set = new HashSet<Object>(); addIf(permissions.isOwnerCanRead(), set, OWNER_READ); addIf(permissions.isOwnerCanRead(), set,OWNER_READ); addIf(permissions.isOwnerCanWrite(), set,OWNER_WRITE); addIf(permissions.isOwnerCanExecute(),set,OWNER_EXECUTE); addIf(permissions.isGroupCanRead(), set,GROUP_READ); addIf(permissions.isGroupCanWrite(), set,GROUP_WRITE); addIf(permissions.isGroupCanExecute(),set,GROUP_EXECUTE); addIf(permissions.isOthersCanRead(), set,OTHERS_READ); addIf(permissions.isOthersCanWrite(), set,OTHERS_WRITE); addIf(permissions.isOthersCanExecute(),set,OTHERS_EXECUTE); setPosixFilePermissions(file, set); }
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 {@link ZTFilePermissions} to POSIX file permission bit array. * * * @param permissions permissions * @return Posix mode */ static int toPosixFileMode(ZTFilePermissions permissions) { int mode = 0; mode |= addFlag(permissions.isOwnerCanExecute(), OWNER_EXECUTE_FLAG); mode |= addFlag(permissions.isGroupCanExecute(), GROUP_EXECUTE_FLAG); mode |= addFlag(permissions.isOthersCanExecute(), OTHERS_EXECUTE_FLAG); mode |= addFlag(permissions.isOwnerCanWrite(), OWNER_WRITE_FLAG); mode |= addFlag(permissions.isGroupCanWrite(), GROUP_WRITE_FLAG); mode |= addFlag(permissions.isOthersCanWrite(), OTHERS_WRITE_FLAG); mode |= addFlag(permissions.isOwnerCanRead(), OWNER_READ_FLAG); mode |= addFlag(permissions.isGroupCanRead(), GROUP_READ_FLAG); mode |= addFlag(permissions.isOthersCanRead(), OTHERS_READ_FLAG); return mode; }