|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.security.Permission java.security.UnresolvedPermission
public final class UnresolvedPermission
UnresolvedPermission 類別用來保持初始化 Policy 時“未解析”的權限。未解析的權限是這樣的一種權限:初始化 Policy 時其實際 Permission 類別尚未存在(請參見以下內容)。
Java 運行時的策略(指定各種主體程式碼可用的權限)由 Policy 物件表示。每當初始化或刷新 Policy 時,都將為該 Policy 允許的所有權限創建相應類別的 Permission 物件。
策略配置參考的許多權限類別型別都是一些本機存在的型別(即一些可在 CLASSPATH 上找到的型別)。此類別權限的物件可在策略初始化期間實例化。例如,自從在 CLASSPATH 上找到 FilePermission 類別之後,始終可以實例化 java.io.FilePermission。
在 Policy 初始化期間,其他權限類別可能尚未存在。例如,參考的權限類別可能處在以後將載入的 JAR 檔案中。將對每個這樣的類別初始化 UnresolvedPermission。因此,UnresolvedPermission 實際上是一個套件含有關權限資訊的“佔位符”。
稍後,當程式碼在以前未解析、但其類別在那時已經載入的型別權限上調用 AccessController.checkPermission 時,該型別以前未解析的權限將被“解析”。也就是說,將基於 UnresolvedPermission 中的資訊,為每個這樣的 UnresolvedPermission 實例化一個新的相應類別型別的物件。
為了實例化此新類別,UnresolvedPermission 假定該類別提供了零、一個和/或兩個參數建構子。零參數建構子將用來實例化不帶有名稱和操作的權限。假定帶一個參數的建構子採用 String
名稱作為輸入;帶兩個參數的建構子採用 String
名稱和 String
操作作為輸入。UnresolvedPermission 可以調用帶有 null
名稱和/或操作的建構子。如果沒有提供適當的權限建構子,則將忽略 UnresolvedPermission,並且不會授予執行程式碼的相關權限。
新創建的權限物件取代 UnresolvedPermission,並將後者移除。
注意,用於 UnresolvedPermission
的 getName
方法將返回尚未解析的基礎權限的 type
(類別名稱)。
Permission
,
Permissions
,
PermissionCollection
,
Policy
,
序列化表格建構子摘要 | |
---|---|
UnresolvedPermission(String type,
String name,
String actions,
Certificate[] certs)
在解析權限時,創建一個新的 UnresolvedPermission,使之包含稍後實際創建指定類別的 Permission 時所需的權限資訊。 |
方法摘要 | |
---|---|
boolean |
equals(Object obj)
檢查兩個 UnresolvedPermission 物件的相等性。 |
String |
getActions()
返回這些操作的規範的字元串表示形式,該字元串當前為空字元串 "",原因是沒有針對 UnresolvedPermission 的操作。 |
String |
getUnresolvedActions()
獲取尚未解析的基礎權限的操作。 |
Certificate[] |
getUnresolvedCerts()
獲取尚未解析的基礎權限的簽署者證書(無任何支持鏈)。 |
String |
getUnresolvedName()
獲取尚未解析的基礎權限的目標名稱。 |
String |
getUnresolvedType()
獲取尚未解析的基礎權限的型別(類別名稱)。 |
int |
hashCode()
返回此物件的雜湊碼值。 |
boolean |
implies(Permission p)
對於未解析的權限,此方法始終返回 false。 |
PermissionCollection |
newPermissionCollection()
返回存儲 UnresolvedPermission 物件的新 PermissionCollection 物件。 |
String |
toString()
返回描述此 UnresolvedPermission 的字元串。 |
從類別 java.security.Permission 繼承的方法 |
---|
checkGuard, getName |
從類別 java.lang.Object 繼承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
public UnresolvedPermission(String type, String name, String actions, Certificate[] certs)
type
- 解析此未解析的權限時將創建的 Permission 類別的類別名稱。name
- 權限名稱。actions
- 對權限的操作。certs
- 用來為權限類別簽章的證書。這是一個證書鏈列表,其中每個鏈都是由簽署人證書和其可選的支持證書鏈構成。每個鏈都按從底到頂進行排序(即簽署人證書排在首位置,(根)證書授權排在末位置)。簽署人證書是從陣列中複製的。陣列的後續更改不會影響此 UnsolvedPermission。方法詳細資訊 |
---|
public boolean implies(Permission p)
Permission
中的 implies
p
- 所要檢查的權限。
public boolean equals(Object obj)
為了確定證書是否相等,此方法僅比較實際簽署人證書。此方法沒有考慮對證書鏈的支持。
Permission
中的 equals
obj
- 要與此物件進行相等性測試的物件。
Object.hashCode()
,
Hashtable
public int hashCode()
Permission
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public String getActions()
Permission
中的 getActions
public String getUnresolvedType()
public String getUnresolvedName()
null
public String getUnresolvedActions()
null
public Certificate[] getUnresolvedCerts()
public String toString()
Permission
中的 toString
public PermissionCollection newPermissionCollection()
Permission
中的 newPermissionCollection
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。