/** * @return true if writable for user, group and world */ public boolean isWritable() { return this.getUser().implies(Action.write) || this.getGroup().implies(Action.write) || this.getOther().implies(Action.write); }
public boolean isExecutable() { return this.getUser().implies(Action.execute) || this.getGroup().implies(Action.execute) || this.getOther().implies(Action.execute); }
/** * @return true if readable for user, group and world */ public boolean isReadable() { return this.getUser().implies(Action.read) || this.getGroup().implies(Action.read) || this.getOther().implies(Action.read); }
final Permission permission = attributes.getPermission(); permission.setUser(permission.getUser().or(Permission.Action.execute)); permission.setGroup(permission.getGroup().or(Permission.Action.execute)); permission.setOther(permission.getOther().or(Permission.Action.execute));
public Permission resolve(final Permission original) { return new Permission( user.resolve(original.getUser()), group.resolve(original.getGroup()), other.resolve(original.getOther()), original.isSticky(), original.isSetuid(), original.isSetgid()); }
@Override public Acl getDefault(final Local file) { final Permission permission; if(PreferencesFactory.get().getBoolean("queue.upload.permissions.default")) { if(file.isFile()) { permission = new Permission( PreferencesFactory.get().getInteger("queue.upload.permissions.file.default")); } else { permission = new Permission( PreferencesFactory.get().getInteger("queue.upload.permissions.folder.default")); } } else { // Read permissions from local file permission = file.attributes().getPermission(); } final Acl acl = new Acl(); if(permission.getOther().implies(Permission.Action.read)) { acl.addAll(new Acl.GroupUser(Acl.GroupUser.EVERYONE), new Acl.Role(Acl.Role.READ)); } if(permission.getGroup().implies(Permission.Action.read)) { acl.addAll(new Acl.GroupUser(Acl.GroupUser.AUTHENTICATED), new Acl.Role(Acl.Role.READ)); } if(permission.getGroup().implies(Permission.Action.write)) { acl.addAll(new Acl.GroupUser(Acl.GroupUser.AUTHENTICATED), new Acl.Role(Acl.Role.WRITE)); } return acl; } }
@Action public void chmodUploadTypePopupChanged(NSPopUpButton sender) { Permission p = null; if(sender.selectedItem().tag() == 0) { p = new Permission(preferences.getInteger("queue.upload.permissions.file.default")); } if(sender.selectedItem().tag() == 1) { p = new Permission(preferences.getInteger("queue.upload.permissions.folder.default")); } if(null == p) { log.error("No selected item for:" + sender); return; } Permission.Action ownerPerm = p.getUser(); Permission.Action groupPerm = p.getGroup(); Permission.Action otherPerm = p.getOther(); uownerr.setState(ownerPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); uownerw.setState(ownerPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); uownerx.setState(ownerPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); ugroupr.setState(groupPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); ugroupw.setState(groupPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); ugroupx.setState(groupPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); uotherr.setState(otherPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); uotherw.setState(otherPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); uotherx.setState(otherPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); }
@Action public void chmodDownloadTypePopupChanged(NSPopUpButton sender) { Permission p = null; if(sender.selectedItem().tag() == 0) { p = new Permission(preferences.getInteger("queue.download.permissions.file.default")); } if(sender.selectedItem().tag() == 1) { p = new Permission(preferences.getInteger("queue.download.permissions.folder.default")); } if(null == p) { log.error("No selected item for:" + sender); return; } Permission.Action ownerPerm = p.getUser(); Permission.Action groupPerm = p.getGroup(); Permission.Action otherPerm = p.getOther(); downerr.setState(ownerPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); downerw.setState(ownerPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); downerx.setState(ownerPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); dgroupr.setState(groupPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); dgroupw.setState(groupPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); dgroupx.setState(groupPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); dotherr.setState(otherPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); dotherw.setState(otherPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); dotherx.setState(otherPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); }