- java.lang.Object
-
- java.security.PermissionCollection
-
- java.security.Permissions
-
- 实现的所有接口
-
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
-
-
构造方法摘要
构造方法 构造器 描述 Permissions()
创建一个不包含PermissionCollections的新Permissions对象。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 void
add(Permission permission)
将权限对象添加到权限所属的类的PermissionCollection。Enumeration<Permission>
elements()
返回此Permissions对象中所有PermissionCollections中所有Permission对象的枚举。boolean
implies(Permission permission)
检查此对象的PermissionCollection是否具有指定权限类的权限,这意味着 权限对象中表示的 权限 。-
声明方法的类 java.security.PermissionCollection
elementsAsStream, isReadOnly, setReadOnly, toString
-
-
-
-
方法详细信息
-
add
public void add(Permission permission)
将权限对象添加到权限所属的类的PermissionCollection。 例如,如果权限是FilePermission,则将其添加到存储在此Permissions对象中的FilePermissionCollection。 如果尚不存在适当的集合,此方法将创建新的PermissionCollection对象(并向其添加权限)。- Specified by:
-
add
在课程PermissionCollection
- 参数
-
permission
- 要添加的Permission对象。 - 异常
-
SecurityException
- 如果此权限对象标记为只读。 - 另请参见:
-
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
- 要检查的Permission对象。 - 结果
- 如果它所属的PermissionCollection中的权限暗示“permission”,则返回true,否则返回false。
-
elements
public Enumeration<Permission> elements()
返回此Permissions对象中所有PermissionCollections中所有Permission对象的枚举。- Specified by:
-
elements
在课程PermissionCollection
- 结果
- 所有权限的枚举。
- 另请参见:
-
PermissionCollection.elementsAsStream()
-
-