public class ConditionalPermissionAdminImpl extends java.lang.Object implements ConditionalPermissionAdmin
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SPEC_VERSION |
Constructor and Description |
---|
ConditionalPermissionAdminImpl(org.knopflerfish.framework.permissions.ConditionalPermissionInfoStorage cpis) |
Modifier and Type | Method and Description |
---|---|
ConditionalPermissionInfo |
addConditionalPermissionInfo(ConditionInfo[] conds,
PermissionInfo[] perms)
Create a new Conditional Permission Info.
|
java.security.AccessControlContext |
getAccessControlContext(java.lang.String[] signers)
Returns the Access Control Context that corresponds to the specified
signers.
|
ConditionalPermissionInfo |
getConditionalPermissionInfo(java.lang.String name)
Return the Conditional Permission Info with the specified name.
|
java.util.Enumeration |
getConditionalPermissionInfos()
Returns the Conditional Permission Infos that are currently managed by
Conditional Permission Admin.
|
ConditionalPermissionInfo |
setConditionalPermissionInfo(java.lang.String name,
ConditionInfo[] conds,
PermissionInfo[] perms)
Set or create a Conditional Permission Info with a specified name.
|
public static final java.lang.String SPEC_VERSION
public ConditionalPermissionAdminImpl(org.knopflerfish.framework.permissions.ConditionalPermissionInfoStorage cpis)
public ConditionalPermissionInfo addConditionalPermissionInfo(ConditionInfo[] conds, PermissionInfo[] perms)
addConditionalPermissionInfo
in interface ConditionalPermissionAdmin
conds
- The Conditions that need to be satisfied to enable the
corresponding Permissions.perms
- The Permissions that are enable when the corresponding
Conditions are satisfied.java.lang.SecurityException
- If the caller does not have
AllPermission
.public ConditionalPermissionInfo setConditionalPermissionInfo(java.lang.String name, ConditionInfo[] conds, PermissionInfo[] perms)
null
, a new Conditional
Permission Info must be created and will be given a unique, never reused
name. If there is currently no Conditional Permission Info with the
specified name, a new Conditional Permission Info must be created with
the specified name. Otherwise, the Conditional Permission Info with the
specified name must be updated with the specified Conditions and
Permissions.setConditionalPermissionInfo
in interface ConditionalPermissionAdmin
name
- The name of the Conditional Permission Info, or
null
.conds
- The Conditions that need to be satisfied to enable the
corresponding Permissions.perms
- The Permissions that are enable when the corresponding
Conditions are satisfied.java.lang.SecurityException
- If the caller does not have
AllPermission
.public java.util.Enumeration getConditionalPermissionInfos()
ConditionalPermissionInfo.delete()
will remove the Conditional
Permission Info from Conditional Permission Admin.getConditionalPermissionInfos
in interface ConditionalPermissionAdmin
public ConditionalPermissionInfo getConditionalPermissionInfo(java.lang.String name)
getConditionalPermissionInfo
in interface ConditionalPermissionAdmin
name
- The name of the Conditional Permission Info to be returned.public java.security.AccessControlContext getAccessControlContext(java.lang.String[] signers)
getAccessControlContext
in interface ConditionalPermissionAdmin
signers
- The signers for which to return an Access Control Context.AccessControlContext
that has the Permissions
associated with the signer.