public class DefaultPermissionFactory extends Object implements PermissionFactory
PermissionFactory
.
Used as a strategy by classes which wish to map integer masks and permission names to Permission instances for use with the ACL implementation.
Maintains a registry of permission names and masks to Permission instances.
Constructor and Description |
---|
DefaultPermissionFactory()
Registers the Permission fields from the BasePermission class.
|
DefaultPermissionFactory(Class<? extends Permission> permissionClass)
Registers the Permission fields from the supplied class.
|
DefaultPermissionFactory(Map<String,? extends Permission> namedPermissions)
Registers a map of named Permission instances.
|
Modifier and Type | Method and Description |
---|---|
Permission |
buildFromMask(int mask)
Dynamically creates a
CumulativePermission or
BasePermission representing the active bits in the passed mask. |
Permission |
buildFromName(String name) |
List<Permission> |
buildFromNames(List<String> names) |
protected void |
registerPermission(Permission perm,
String permissionName) |
protected void |
registerPublicPermissions(Class<? extends Permission> clazz)
Registers the public static fields of type
Permission for a give class. |
public DefaultPermissionFactory()
public DefaultPermissionFactory(Class<? extends Permission> permissionClass)
public DefaultPermissionFactory(Map<String,? extends Permission> namedPermissions)
namedPermissions
- the map of Permissions, keyed by name.protected void registerPublicPermissions(Class<? extends Permission> clazz)
Permission
for a give class.
These permissions will be registered under the name of the field. See
BasePermission
for an example.
clazz
- a Permission
class with public static fields to registerprotected void registerPermission(Permission perm, String permissionName)
public Permission buildFromMask(int mask)
PermissionFactory
CumulativePermission
or
BasePermission
representing the active bits in the passed mask.buildFromMask
in interface PermissionFactory
mask
- to buildpublic Permission buildFromName(String name)
buildFromName
in interface PermissionFactory
public List<Permission> buildFromNames(List<String> names)
buildFromNames
in interface PermissionFactory