JavaTM 2 Platform
Standard Ed. 6

javax.security.auth
類別 SubjectDomainCombiner

java.lang.Object
  繼承者 javax.security.auth.SubjectDomainCombiner
所有已實作的介面:
DomainCombiner

public class SubjectDomainCombiner
extends Object
implements DomainCombiner

SubjectDomainCombiner 通過與此 SubjectDomainCombiner 關聯的 Subject 中的 Principals 更新 ProtectionDomains。


建構子摘要
SubjectDomainCombiner(Subject subject)
          將提供的 Subject 與此 SubjectDomainCombiner 關聯。
 
方法摘要
 ProtectionDomain[] combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)
          使用與此 SubjectDomainCombiner 關聯的 Subject 中的 Principals 更新相關的 ProtectionDomains。
 Subject getSubject()
          獲取與此 SubjectDomainCombiner 關聯的 Subject
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

SubjectDomainCombiner

public SubjectDomainCombiner(Subject subject)
將提供的 Subject 與此 SubjectDomainCombiner 關聯。

參數:
subject - 要與此 SubjectDomainCombiner 關聯的 Subject
方法詳細資訊

getSubject

public Subject getSubject()
獲取與此 SubjectDomainCombiner 關聯的 Subject

返回:
與此 SubjectDomainCombiner 關聯的 Subject,如果沒有與此 SubjectDomainCombiner 關聯的 Subject,則返回 null
拋出:
SecurityException - 如果調用者沒有獲取與此 SubjectDomainCombiner 關聯的 Subject 的權限。

combine

public ProtectionDomain[] combine(ProtectionDomain[] currentDomains,
                                  ProtectionDomain[] assignedDomains)
使用與此 SubjectDomainCombiner 關聯的 Subject 中的 Principals 更新相關的 ProtectionDomains。

currentDomains 陣列中的每個 ProtectionDomain 創建一個新的 ProtectionDomain 實例。每個新 ProtectionDomain 實例使用相應的 currentDomains 中的 ProtectionDomainCodeSourcePermissionClassLoader,以及與此 SubjectDomainCombiner 關聯的 Subject 的 Principals 來創建。

將所有新實例化的 ProtectionDomains 組合到一個新陣列中。把 assignedDomains 陣列中的 ProtectionDomains 追加到此新陣列中,同時返回結果。

注意,可能發生移除重複的 ProtectionDomains 這樣的優化。另外,也允許快取記憶體 ProtectionDomains。

指定者:
介面 DomainCombiner 中的 combine
參數:
currentDomains - 與當前執行執行緒關聯的 ProtectionDomain,直到最近的特權 ProtectionDomain。ProtectionDomain 按執行的順序列出,最近執行的 ProtectionDomain 位於陣列的開頭。如果當前的執行執行緒沒有相關的 ProtectionDomains,則此參數可以為 null

assignedDomains - 從父執行緒繼承的 ProtectionDomains,如果發生對 AccessController.doPrivileged(..., context) 的調用,則此參數為特權 context 中的 ProtectionDomains。如果不存在從父執行緒繼承的 ProtectionDomains 或不存在取自 context 的 ProtectionDomains,則此參數可以為 null
返回:
由更新的 ProtectionDomains 組成的新陣列,或 null

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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