Package org.springframework.security.acls.domain

# Class DefaultPermissionFactory

java.lang.Object
org.springframework.security.acls.domain.DefaultPermissionFactory

All Implemented Interfaces:
  `PermissionFactory`

public class DefaultPermissionFactory extends Object implements PermissionFactory
Default implementation of `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.

Since:
  2.0.3

## Constructor Summary

Constructors
Constructor
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.

## Method Summary

Modifier and Type
Method
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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### DefaultPermissionFactory

public DefaultPermissionFactory()
Registers the `Permission` fields from the `BasePermission` class.

### DefaultPermissionFactory

public DefaultPermissionFactory(Class<? extends Permission> permissionClass)
Registers the `Permission` fields from the supplied class.

### DefaultPermissionFactory

public DefaultPermissionFactory(Map<String,? extends Permission> namedPermissions)
Registers a map of named `Permission` instances.

Parameters:
  `namedPermissions` - the map of `Permission`s, keyed by name.

## Method Details

### registerPublicPermissions

protected void registerPublicPermissions(Class<? extends Permission> clazz)
Registers the public static fields of type `Permission` for a give class.

These permissions will be registered under the name of the field. See `BasePermission` for an example.

Parameters:
  `clazz` - a `Permission` class with public static fields to register

### registerPermission

protected void registerPermission(Permission perm, String permissionName)

### buildFromMask

public Permission buildFromMask(int mask)
Description copied from interface: `PermissionFactory`
Dynamically creates a `CumulativePermission` or `BasePermission` representing the active bits in the passed mask.

Specified by:
  `buildFromMask` in interface `PermissionFactory`
Parameters:
  `mask` - to build
Returns:
  a Permission representing the requested object

### buildFromName

public Permission buildFromName(String name)

Specified by:
  `buildFromName` in interface `PermissionFactory`

### buildFromNames

public List<Permission> buildFromNames(List<String> names)

Specified by:
  `buildFromNames` in interface `PermissionFactory`