public class ConditionalPermissionAdminImpl extends java.lang.Object implements ConditionalPermissionAdmin
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
SPEC_VERSION |
构造器和说明 |
---|
ConditionalPermissionAdminImpl(org.knopflerfish.framework.permissions.ConditionalPermissionInfoStorage cpis,
org.knopflerfish.framework.permissions.PermissionInfoStorage pis,
FrameworkContext framework) |
限定符和类型 | 方法和说明 |
---|---|
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<ConditionalPermissionInfo> |
getConditionalPermissionInfos()
Returns the Conditional Permission Infos that are currently managed by
Conditional Permission Admin.
|
ConditionalPermissionInfo |
newConditionalPermissionInfo(java.lang.String encoded)
Creates a new
ConditionalPermissionInfo from the specified
encoded ConditionalPermissionInfo string suitable for insertion
into a ConditionalPermissionUpdate . |
ConditionalPermissionInfo |
newConditionalPermissionInfo(java.lang.String name,
ConditionInfo[] conditions,
PermissionInfo[] permissions,
java.lang.String access)
Creates a new ConditionalPermissionInfo with the specified fields
suitable for insertion into a
ConditionalPermissionUpdate . |
ConditionalPermissionUpdate |
newConditionalPermissionUpdate()
Creates a new update for the Conditional Permission Table.
|
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, org.knopflerfish.framework.permissions.PermissionInfoStorage pis, FrameworkContext framework)
public ConditionalPermissionInfo addConditionalPermissionInfo(ConditionInfo[] conds, PermissionInfo[] perms)
addConditionalPermissionInfo
在接口中 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
在接口中 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<ConditionalPermissionInfo> getConditionalPermissionInfos()
ConditionalPermissionInfo.delete()
will remove the Conditional
Permission Info from Conditional Permission Admin.getConditionalPermissionInfos
在接口中 ConditionalPermissionAdmin
public ConditionalPermissionInfo getConditionalPermissionInfo(java.lang.String name)
getConditionalPermissionInfo
在接口中 ConditionalPermissionAdmin
name
- The name of the Conditional Permission Info to be returned.public java.security.AccessControlContext getAccessControlContext(java.lang.String[] signers)
getAccessControlContext
在接口中 ConditionalPermissionAdmin
signers
- The signers for which to return an Access Control Context.AccessControlContext
that has the Permissions
associated with the signer.public ConditionalPermissionUpdate newConditionalPermissionUpdate()
ConditionalPermissionAdmin
newConditionalPermissionUpdate
在接口中 ConditionalPermissionAdmin
ConditionalPermissionAdmin.newConditionalPermissionUpdate()
public ConditionalPermissionInfo newConditionalPermissionInfo(java.lang.String name, ConditionInfo[] conditions, PermissionInfo[] permissions, java.lang.String access)
ConditionalPermissionAdmin
ConditionalPermissionUpdate
. The
delete
method on ConditionalPermissionInfo
objects
created with this method must throw UnsupportedOperationException.newConditionalPermissionInfo
在接口中 ConditionalPermissionAdmin
name
- The name of the created ConditionalPermissionInfo
or
null
to have a unique name generated when the returned
ConditionalPermissionInfo
is committed in an update to the
Conditional Permission Table.conditions
- The conditions that need to be satisfied to enable the
specified permissions. This argument can be null
or an
empty array indicating the specified permissions are not guarded
by any conditions.permissions
- The permissions that are enabled when the specified
conditions, if any, are satisfied. This argument must not be
null
and must specify at least one permission.access
- Access decision. Must be one of the following values:
The specified access decision value must be evaluated case
insensitively.ConditionalPermissionInfo
object suitable for insertion
into a ConditionalPermissionUpdate
.org.osgi.service.condpermadmin.ConditionalPermissionAdmin#newConditionalPermissionInfo()
public ConditionalPermissionInfo newConditionalPermissionInfo(java.lang.String encoded)
ConditionalPermissionAdmin
ConditionalPermissionInfo
from the specified
encoded ConditionalPermissionInfo
string suitable for insertion
into a ConditionalPermissionUpdate
. The delete
method on
ConditionalPermissionInfo
objects created with this method must
throw UnsupportedOperationException.newConditionalPermissionInfo
在接口中 ConditionalPermissionAdmin
encoded
- The encoded
ConditionalPermissionInfo
. White space in the encoded
ConditionalPermissionInfo
is ignored. The access decision
value in the encoded ConditionalPermissionInfo
must be
evaluated case insensitively. If the encoded
ConditionalPermissionInfo
does not contain the optional
name, null
must be used for the name and a unique name
will be generated when the returned
ConditionalPermissionInfo
is committed in an update to the
Conditional Permission Table.ConditionalPermissionInfo
object suitable for insertion
into a ConditionalPermissionUpdate
.org.osgi.service.condpermadmin.ConditionalPermissionAdmin#newConditionalPermissionInfo()