public boolean isPermissionSet(Permission perm) { if (perm == null) { throw new IllegalArgumentException("Permission cannot be null"); } return isPermissionSet(perm.getName()); }
/** * Sets a permission to the given value * * @param perm Permission to set * @param value New value of the permission */ public void setPermission(Permission perm, boolean value) { setPermission(perm.getName(), value); }
/** * Removes the specified permission from this attachment. * <p> * If the permission does not exist in this attachment, nothing will * happen. * * @param perm Permission to remove */ public void unsetPermission(Permission perm) { unsetPermission(perm.getName()); }
public void addPermission(Permission perm) { String name = perm.getName().toLowerCase(); if (permissions.containsKey(name)) { throw new IllegalArgumentException("The permission " + name + " is already defined!"); } permissions.put(name, perm); calculatePermissionDefault(perm); }
public void removePermission(Permission perm) { removePermission(perm.getName()); }
public static Permission registerPermission(Permission perm, Permission parent) { parent.getChildren().put(perm.getName(), true); return registerPermission(perm); }
private static Map<String, Boolean> extractChildren(Map<?, ?> input, String name, PermissionDefault def, List<Permission> output) { Map<String, Boolean> children = new LinkedHashMap<String, Boolean>(); for (Map.Entry<?, ?> entry : input.entrySet()) { if ((entry.getValue() instanceof Boolean)) { children.put(entry.getKey().toString(), (Boolean) entry.getValue()); } else if ((entry.getValue() instanceof Map)) { try { Permission perm = loadPermission(entry.getKey().toString(), (Map<?, ?>) entry.getValue(), def, output); children.put(perm.getName(), Boolean.TRUE); if (output != null) { output.add(perm); } } catch (Throwable ex) { throw new IllegalArgumentException("Permission node '" + entry.getKey().toString() + "' in child of " + name + " is invalid", ex); } } else { throw new IllegalArgumentException("Child '" + entry.getKey().toString() + "' contains invalid value"); } } return children; } }
public static Permission registerPermission(String name, String desc, PermissionDefault def, Permission parent) { Permission perm = registerPermission(name, desc, def); parent.getChildren().put(perm.getName(), true); return perm; }
public static Permission registerPermission(String name, String desc, PermissionDefault def, Map<String, Boolean> children, Permission parent) { Permission perm = registerPermission(name, desc, def, children); parent.getChildren().put(perm.getName(), true); return perm; }
/** * Adds this permission to the specified parent permission. * * @param perm Parent permission to register with * @param value The value to set this permission to */ public void addParent(Permission perm, boolean value) { perm.getChildren().put(getName(), value); perm.recalculatePermissibles(); }
public static Permission registerPermission(String name, String desc, Permission parent) { Permission perm = registerPermission(name, desc); parent.getChildren().put(perm.getName(), true); return perm; }
public boolean hasPermission(Permission perm) { if (perm == null) { throw new IllegalArgumentException("Permission cannot be null"); } String name = perm.getName().toLowerCase(); if (isPermissionSet(name)) { return permissions.get(name).getValue(); } return perm.getDefault().getValue(isOp()); }
public static Permission registerPermission(Permission perm, boolean withLegacy) { Permission result = perm; try { Bukkit.getPluginManager().addPermission(perm); } catch (IllegalArgumentException ex) { result = Bukkit.getPluginManager().getPermission(perm.getName()); } if (withLegacy) { Permission legacy = new Permission(LEGACY_PREFIX + result.getName(), result.getDescription(), PermissionDefault.FALSE); legacy.getChildren().put(result.getName(), true); registerPermission(perm, false); } return result; }
@Override public boolean hasPermission(Permission permission) { return hasPermission(permission.getName()); }
@Override public boolean isPermissionSet(Permission permission) { return isPermissionSet(permission.getName()); }
public void recalculatePermissions() { clearPermissions(); Set<Permission> defaults = Bukkit.getServer().getPluginManager().getDefaultPermissions(isOp()); Bukkit.getServer().getPluginManager().subscribeToDefaultPerms(isOp(), parent); for (Permission perm : defaults) { String name = perm.getName().toLowerCase(); permissions.put(name, new PermissionAttachmentInfo(parent, name, null, true)); Bukkit.getServer().getPluginManager().subscribeToPermission(name, parent); calculateChildPermissions(perm.getChildren(), false, null); } for (PermissionAttachment attachment : attachments) { calculateChildPermissions(attachment.getPermissions(), false, attachment); } }
List<Permission> pd = plugin.getDescription().getPermissions(); for(Permission p : pd) { perdefs.put(p.getName(), p.getDefault() == PermissionDefault.TRUE);
@Override public boolean hasPermission(Permission perm) { Preconditions.checkNotNull(perm, "perm"); return hasPermission(perm.getName()); }
private void updateAndAdd(PluginManager pm, Permission permission) { Permission oldPerm = pm.getPermission(permission.getName()); if (oldPerm == null) { pm.addPermission(permission); } permission.recalculatePermissibles(); } }