- java.lang.Object
-
- java.security.PermissionCollection
-
- java.security.Permissions
-
- All Implemented Interfaces:
-
Serializable
public final class Permissions extends PermissionCollection implements Serializable
此类表示许多权限的异构集合。 也就是说,它包含不同类型的Permission对象,它们被组织成PermissionCollections。 例如,如果任何java.io.FilePermission
对象添加到此类的实例,它们都将存储在单个PermissionCollection中。 它是通过调用FilePermission类中的newPermissionCollection
方法返回的PermissionCollection。 类似地,任何java.lang.RuntimePermission
对象都存储在调用RuntimePermission类中的newPermissionCollection
方法返回的PermissionCollection中。 因此,此类表示PermissionCollections的集合。当调用
add
方法添加权限时,权限将存储在适当的PermissionCollection中。 如果尚未存在此类集合,则会确定Permission对象的类,并在newPermissionCollection
上调用newPermissionCollection
方法来创建PermissionCollection并将其添加到Permissions对象。 如果newPermissionCollection
返回null,则将创建并使用使用散列表的默认PermissionCollection。 每个散列表条目都将Permission对象存储为键和值。通过
elements
方法返回的枚举不是故障快速的 。 在枚举集合时不应执行对集合的修改。- 从以下版本开始:
- 1.2
- 另请参见:
-
Permission
,PermissionCollection
,AllPermission
-
-
构造方法摘要
构造方法 Constructor 描述 Permissions()
创建一个不包含PermissionCollections的新Permissions对象。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
add(Permission permission)
将权限对象添加到权限所属的类的PermissionCollection。Enumeration<Permission>
elements()
返回此Permissions对象中所有PermissionCollections中所有Permission对象的枚举。boolean
implies(Permission permission)
检查此对象的PermissionCollection是否具有指定权限类的权限,这意味着在 权限对象中表达的 权限 。-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class java.security.PermissionCollection
elementsAsStream, isReadOnly, setReadOnly, toString
-
-
-
-
方法详细信息
-
add
public void add(Permission permission)
将权限对象添加到权限所属的类的PermissionCollection。 例如,如果权限是FilePermission,则将其添加到此Permissions对象中存储的FilePermissionCollection中。 此方法创建一个新的PermissionCollection对象(并向其添加权限)如果一个适当的集合尚不存在。- Specified by:
-
add
PermissionCollection
- 参数
-
permission
- 要添加的权限对象。 - 异常
-
SecurityException
- 如果此Permissions对象被标记为只读方式。 - 另请参见:
-
PermissionCollection.isReadOnly()
-
implies
public boolean implies(Permission permission)
检查此对象的PermissionCollection是否具有指定权限类的权限,这意味着在权限对象中表达的权限 。 如果适当的PermissionCollection(例如,FilePermission的FilePermissionCollection)中的权限组合在一起意味着指定的权限,则返回true。例如,假设此Permissions对象中有一个FilePermissionCollection,并且它包含一个FilePermission,它为“/ tmp”目录的所有子目录中的所有文件指定了“读取”访问权限,另一个为所有文件指定“写入”访问权限的FilePermission在“/ tmp / scratch / foo”目录中。 然后,如果以“/ tmp / scratch / foo”目录中的文件同时指定了“读取”和“写入”权限来调用
implies
方法,则返回true
。此外,如果此PermissionCollection包含AllPermission,此方法将始终返回true。
- Specified by:
-
implies
在PermissionCollection
- 参数
-
permission
- 要检查的权限对象。 - 结果
- 如果PermissionCollection中的权限隐含“权限”,则为true,否则为false。
-
elements
public Enumeration<Permission> elements()
返回此Permissions对象中所有PermissionCollections中所有Permission对象的枚举。- Specified by:
-
elements
在PermissionCollection
- 结果
- 列举所有权限。
- 另请参见:
-
PermissionCollection.elementsAsStream()
-
-