/** * Registers a map of named <tt>Permission</tt> instances. * * @param namedPermissions the map of <tt>Permission</tt>s, keyed by name. */ public DefaultPermissionFactory(Map<String, ? extends Permission> namedPermissions) { for (String name : namedPermissions.keySet()) { registerPermission(namedPermissions.get(name), name); } }
/** * Registers the public static fields of type {@link Permission} for a give class. * <p> * These permissions will be registered under the name of the field. See * {@link BasePermission} for an example. * * @param clazz a {@link Permission} class with public static fields to register */ protected void registerPublicPermissions(Class<? extends Permission> clazz) { Assert.notNull(clazz, "Class required"); Field[] fields = clazz.getFields(); for (Field field : fields) { try { Object fieldValue = field.get(null); if (Permission.class.isAssignableFrom(fieldValue.getClass())) { // Found a Permission static field Permission perm = (Permission) fieldValue; String permissionName = field.getName(); registerPermission(perm, permissionName); } } catch (Exception ignore) { } } }
@Override public void registerPermission( Permission permission, String permissionName ) { String name = permissionName.toLowerCase( Locale.ENGLISH ); super.registerPermission( permission, name ); namesForPermission.put( permission, name ); }
/** * Registers a map of named <tt>Permission</tt> instances. * * @param namedPermissions the map of <tt>Permission</tt>s, keyed by name. */ public DefaultPermissionFactory(Map<String, ? extends Permission> namedPermissions) { for (String name : namedPermissions.keySet()) { registerPermission(namedPermissions.get(name), name); } }
/** * Registers the public static fields of type {@link Permission} for a give class. * <p> * These permissions will be registered under the name of the field. See * {@link BasePermission} for an example. * * @param clazz a {@link Permission} class with public static fields to register */ protected void registerPublicPermissions(Class<? extends Permission> clazz) { Assert.notNull(clazz, "Class required"); Field[] fields = clazz.getFields(); for (Field field : fields) { try { Object fieldValue = field.get(null); if (Permission.class.isAssignableFrom(fieldValue.getClass())) { // Found a Permission static field Permission perm = (Permission) fieldValue; String permissionName = field.getName(); registerPermission(perm, permissionName); } } catch (Exception ignore) { } } }