|
JavaTM 2 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 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。