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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(Permission permission) 将一个Permission对象添加到该权限所属类的PermissionCollection中。elements()返回此Permissions对象中所有PermissionCollection对象中所有Permission对象的枚举。booleanimplies(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对象的枚举。 - 参见:
-