java.lang.Object
java.security.PermissionCollection
java.security.Permissions
- 所有已实现的接口:
-
Serializable
这个类表示一个异构的权限集合。也就是说,它包含不同类型的
Permission
对象,组织成PermissionCollection
对象。例如,如果向这个类的实例添加了任何java.io.FilePermission
对象,它们都将存储在单个PermissionCollection
中。这是通过调用FilePermission
类中的newPermissionCollection
方法返回的PermissionCollection
。同样,任何java.lang.RuntimePermission
对象都存储在通过调用RuntimePermission
类中的newPermissionCollection
方法返回的PermissionCollection
中。因此,这个类表示了一个PermissionCollection
对象的集合。
当调用add
方法添加一个Permission
时,该Permission
将存储在适当的PermissionCollection
中。如果尚未存在这样的集合,则确定Permission
对象的类,并在该类上调用newPermissionCollection
方法以创建PermissionCollection
并将其添加到Permissions
对象中。如果newPermissionCollection
返回null
,则将创建并使用一个使用哈希表的默认PermissionCollection
。每个哈希表条目都将Permission
对象作为键和值存储。
通过elements
方法返回的枚举不是快速失败的。在枚举集合时不应执行对集合的修改。
- 自从:
- 1.2
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(Permission permission) 将一个Permission
对象添加到该权限所属类的PermissionCollection
中。elements()
返回此Permissions
对象中所有PermissionCollection
对象中所有Permission
对象的枚举。boolean
implies
(Permission permission) 检查此对象的PermissionCollection
中针对指定权限类的权限是否包含permission对象中表达的权限。Methods declared in class java.security.PermissionCollection
elementsAsStream, isReadOnly, setReadOnly, toString
-
Constructor Details
-
Permissions
public Permissions()创建一个不包含任何PermissionCollection
对象的新Permissions
对象。
-
-
Method Details
-
add
将一个Permission
对象添加到该权限所属类的PermissionCollection
中。例如,如果permission是一个FilePermission
,它将被添加到此Permissions
对象中存储的FilePermissionCollection
中。如果尚不存在适当的集合,此方法将创建一个新的PermissionCollection
对象(并将权限添加到其中)。- 指定者:
-
add
在类PermissionCollection
- 参数:
-
permission
- 要添加的Permission
对象。 - 抛出:
-
SecurityException
- 如果此Permissions
对象被标记为只读。 - 参见:
-
implies
检查此对象的PermissionCollection
中针对指定权限类的权限是否包含permission对象中表达的权限。如果适当的PermissionCollection
中的权限组合(例如,FilePermission
的FilePermissionCollection
)一起包含指定的权限,则返回true
。例如,假设在此
Permissions
对象中有一个FilePermissionCollection
,它包含一个指定对"/tmp"目录中所有子目录中所有文件的"读"访问权限的FilePermission
,以及另一个指定对"/tmp/scratch/foo"目录中所有文件的"写"访问权限的FilePermission
。然后,如果使用一个权限指定对"/tmp/scratch/foo"目录中的文件进行"读"和"写"访问的权限调用implies
方法,则将返回true
。此外,如果此
PermissionCollection
包含AllPermission
,则此方法将始终返回true
。- 指定者:
-
implies
在类PermissionCollection
- 参数:
-
permission
- 要检查的Permission
对象。 - 返回:
-
如果
permission
被所属PermissionCollection
中的权限所包含,则返回true
,否则返回false
。
-
elements
返回此Permissions
对象中所有PermissionCollection
对象中所有Permission
对象的枚举。- 指定者:
-
elements
在类PermissionCollection
- 返回:
-
所有
Permission
对象的枚举。 - 参见:
-