JavaTM 2 Platform
Standard Ed. 6

java.security
類別 ProtectionDomain

java.lang.Object
  繼承者 java.security.ProtectionDomain

public class ProtectionDomain
extends Object

此 ProtectionDomain 類別封裝域的特徵,域中包裹一個類別集合,在代表給定的主體集合執行這些類別的實例時會授予它們一個權限集合。

在建構 ProtectionDomain 時可以對它綁定一個靜態的權限集合;不管 Policy 是否有效,都會將這些權限授予域。但是,為了支持動態安全策略,也可以建構 ProtectionDomain,使得只要檢查權限時就能通過當前 Policy 將其動態地映射到一個權限集合。


建構子摘要
ProtectionDomain(CodeSource codesource, PermissionCollection permissions)
          創建具有給定 CodeSource 和 Permissions 的新 ProtectionDomain。
ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)
          創建由給定的 CodeSource、Permissions、ClassLoader 和 Principal 陣列限定的新 ProtectionDomain。
 
方法摘要
 ClassLoader getClassLoader()
          返回此域的 ClassLoader。
 CodeSource getCodeSource()
          返回此域的 CodeSource。
 PermissionCollection getPermissions()
          返回授予此域的靜態權限。
 Principal[] getPrincipals()
          返回此域的 principals 陣列。
 boolean implies(Permission permission)
          查看此 ProtectionDomain 是否暗含了 Permission 物件中表示的權限。
 String toString()
          將 ProtectionDomain 轉換成為 String。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

ProtectionDomain

public ProtectionDomain(CodeSource codesource,
                        PermissionCollection permissions)
創建具有給定 CodeSource 和 Permissions 的新 ProtectionDomain。如果 permissions 物件不為 null,那麼將在傳入的 Permissions 物件上調用 setReadOnly()。只授予此域那些指定的權限;不參考當前的 Policy。

參數:
codesource - 與此域關聯的 codesource
permissions - 授予此域的權限

ProtectionDomain

public ProtectionDomain(CodeSource codesource,
                        PermissionCollection permissions,
                        ClassLoader classloader,
                        Principal[] principals)
創建由給定的 CodeSource、Permissions、ClassLoader 和 Principal 陣列限定的新 ProtectionDomain。如果 permissions 物件不為 null,那麼將在傳入的 Permissions 物件上調用 setReadOnly()。授予此域的權限是動態的;它們包括傳遞給此建構子的靜態權限以及檢查權限時當前 Policy 授予此域的任何權限。

此建構子通常由 ClassLoadersDomainCombiners 使用,它們委託 Policy 積極地關聯授予此域的權限。此建構子為 Policy provider 提供擴充 PermissionCollection 的機會以反映策略變化。

參數:
codesource - 與此域關聯的 CodeSource
permissions - 授予此域的權限
classloader - 與此域關聯的 ClassLoader
principals - 與此域關聯的 Principals。複製陣列的內容,以防隨後進行修改。
從以下版本開始:
1.4
另請參見:
Policy.refresh(), Policy.getPermissions(ProtectionDomain)
方法詳細資訊

getCodeSource

public final CodeSource getCodeSource()
返回此域的 CodeSource。

返回:
此域的 CodeSource,它可以為 null。
從以下版本開始:
1.2

getClassLoader

public final ClassLoader getClassLoader()
返回此域的 ClassLoader。

返回:
此域的 ClassLoader,它可以為 null。
從以下版本開始:
1.4

getPrincipals

public final Principal[] getPrincipals()
返回此域的 principals 陣列。

返回:
此域非 null 的 principals 陣列。每次調用此方法都返回一個新的陣列。
從以下版本開始:
1.4

getPermissions

public final PermissionCollection getPermissions()
返回授予此域的靜態權限。

返回:
此域的靜態權限集合,它可以為 null。
另請參見:
Policy.refresh(), Policy.getPermissions(ProtectionDomain)

implies

public boolean implies(Permission permission)
查看此 ProtectionDomain 是否暗含了 Permission 物件中表示的權限。

計算的權限集合依賴於該 ProtectionDomain 是用靜態的權限集合建構的還是被綁定到動態映射的權限集合。

如果 ProtectionDomain 被建構為靜態綁定的 PermissionCollection,那麼只會依據建構時提供的 PermissionCollection 來檢查權限。

但是,如果 ProtectionDomain 是用支持動態綁定權限的建構子變體建構的,那麼將會依據建構時提供的 PermissionCollection 和當前 Policy 綁定的組合來檢查權限。

參數:
permission - 要檢查的 Permission 物件。
返回:
如果 "permission" 暗含此 ProtectionDomain 中,則返回 true。

toString

public String toString()
將 ProtectionDomain 轉換成為 String。

覆寫:
類別 Object 中的 toString
返回:
該物件的字元串表示形式。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only