|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.security.PermissionCollection
public abstract class PermissionCollection
表示 Permission 对象集合的抽象类。
使用 PermissionCollection,您可以:
add
方法向集合添加权限。 implies
方法查看是否集合中暗含了特定的权限。 elements
方法枚举所有的权限。
当需要集合许多相同类型的 Permission 对象时,首先应该调用该特定 Permission 对象类型上的 newPermissionCollection
方法。默认的行为(来自 Permission 类)只是返回 null。如果 Permission 类的子类需要在一个特定的 PermissionCollection 对象中存储其权限,以便调用 PermissionCollection.implies
方法时能提供正确的语义,则它们应该重写此方法。如果返回非 null 值,一定要使用该 PermissionCollection。如果返回 null,那么 newPermissionCollection
的调用方可以在任何它们选择的 PermissionCollection(使用 Hashtable 的,使用 Vector 的,等等)中随意存储给定类型的权限。
Permission.newPermissionCollection
方法返回的 PermissionCollection 是同类的集合,它们只存储给定 Permission 类型的 Permission 对象。PermissionCollection 也可以是不同种类的。例如,Permissions 是 PermissionCollection 的子类,表示 PermissionCollection 的集合。也就是说,它的每一个成员是一个同类的 PermissionCollection。例如,一个 Permissions 对象可能有一个用于所有 FilePermission 对象的 FilePermissionCollection,有一个用于所有的 SocketPermission 对象的 SocketPermissionCollection,等等。它的 add
方法将权限添加到恰当的集合。
只要将一个权限添加到不同种类的 PermissionCollection(如 Permissions),并且 PermissionCollection 尚未包含指定权限类型的 PermissionCollection,PermissionCollection 都应该对该权限的类调用 newPermissionCollection
方法来查看其是否需要特殊的 PermissionCollection。如果 newPermissionCollection
返回 null,则 PermissionCollection 可以将权限随意存储在它需要的任何类型的 PermissionCollection 中(使用 Hashtable 的,使用 Vector 的,等等)。例如,Permissions 对象使用默认的 PermissionCollection 实现,该实现将权限存储在 Hashtable 中。
PermissionCollection 的子类实现应该假定它们可能在多个线程中被同时调用,因此应该被正确地同步。此外,通过 elements
方法返回的枚举不是快速失败 的。正在对一个集合进行枚举时,不应该修改该集合。
Permission
,
Permissions
,
序列化表格
构造方法摘要 | |
---|---|
PermissionCollection() |
方法摘要 | |
---|---|
abstract void |
add(Permission permission) 将一个权限对象添加到当前权限对象的集合。 |
abstract Enumeration<Permission> |
elements() 返回集合中所有 Permission 对象的枚举。 |
abstract boolean |
implies(Permission permission) 查看此 PermissionCollection 中保存的 Permission 对象集合是否暗含指定的权限。 |
boolean |
isReadOnly() 如果此 PermissionCollection 对象被标记为只读,则返回 true。 |
void |
setReadOnly() 将此 PermissionCollection 对象标记为 "readonly"。 |
String |
toString() 返回描述此 PermissionCollection 对象的字符串,提供该对象中包含的关于所有权限的信息。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public PermissionCollection()
方法详细信息 |
---|
public abstract void add(Permission permission)
permission
- 要添加的 Permission 对象。
SecurityException
- 如果此 PermissionCollection 对象已被标记为只读。
public abstract boolean implies(Permission permission)
permission
- 要比较的 Permission 对象。
public abstract Enumeration<Permission> elements()
public void setReadOnly()
add
向其中添加任何新的 Permission 对象。
public boolean isReadOnly()
add
向其中添加任何新的 Permission 对象。
默认情况下,对象不 是只读的。它可以通过调用 setReadOnly
设置为只读。
public String toString()
super.toString() ( // enumerate all the Permission // objects and call toString() on them, // one per line.. )
super.toString
调用此对象的超类的
toString
方法,其超类是 Object。结果是此 PermissionCollection 的类型名称,后跟此对象的哈希码,因此使客户端能区分不同的 PermissionCollections 对象,即使它们包含相同的权限。
Object
中的
toString
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。