- java.lang.Object
-  
      - javax.security.auth.SubjectDomainCombiner
 
-  
       - 实现的所有接口
-  
         DomainCombiner
 
 public class SubjectDomainCombiner extends Object implements DomainCombiner 一个SubjectDomainCombiner与校长更新的ProtectionDomains从Subject与此相关SubjectDomainCombiner。- 从以下版本开始:
- 1.4
 
-  
        
       -  
             构造方法摘要构造方法 构造器 描述 SubjectDomainCombiner(Subject subject)将提供的Subject与此SubjectDomainCombiner。
 -  
             方法摘要所有方法 实例方法 具体的方法 变量和类型 方法 描述 ProtectionDomain[]combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)使用与此SubjectDomainCombiner相关联的Subject中的Principals更新相关ProtectionDomains。SubjectgetSubject()获取Subject与此相关SubjectDomainCombiner。
 
-  
             
-  
        
       -  
             构造方法详细信息-  SubjectDomainCombinerpublic SubjectDomainCombiner(Subject subject) 将提供的Subject与此SubjectDomainCombiner。- 参数
-  
              subject-将Subject到与此相关SubjectDomainCombiner。
 
 
-  
 -  
             方法详细信息-  getSubjectpublic Subject getSubject() 获取Subject与此相关SubjectDomainCombiner。- 结果
- 
               所述 
              Subject与此相关的SubjectDomainCombiner,或null如果没有Subject与此相关联的SubjectDomainCombiner。
- 异常
-  
              SecurityException-如果调用方无权获得Subject与此相关SubjectDomainCombiner。
 
 -  combinepublic ProtectionDomain[] combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains) 使用与此SubjectDomainCombiner相关联的Subject中的Principals更新相关ProtectionDomains。一个新的 ProtectionDomain实例对于每个非静态创建ProtectionDomain((staticPermissionsOnly()== FALSE)中currentDomains阵列。每个新ProtectionDomain实例使用所创建的CodeSource,PermissionS和ClassLoader从相应ProtectionDomain在currentDomains,以及与Subject相关联的主体与此SubjectDomainCombiner静态保护SubjectDomainCombiner组合,不创建新实例。所有ProtectionDomains(静态和新实例化)都组合成一个新阵列。 assignedDomains数组中的ProtectionDomains将附加到此新数组,并返回结果。请注意,可能已发生诸如删除重复的ProtectionDomain之类的优化。 此外,可以允许缓存ProtectionDomains。 - Specified by:
-  
              combine在界面DomainCombiner
- 参数
-  
              currentDomains- 与当前执行线程关联的ProtectionDomain,直到最新的特权ProtectionDomain。 ProtectionDomains按执行顺序列出,最近执行的ProtectionDomain位于阵列的开头。 如果当前执行线程没有关联的ProtectionDomains,则此参数可能为null。
-  
              assignedDomains-从特权从父线程继承的ProtectionDomain,或的ProtectionDomaincontext,如果一个电话AccessController.doPrivileged(..., context)发生此参数可以为null如果没有从父线程继承的ProtectionDomain,或从特权context。
- 结果
- 
               由更新的ProtectionDomains组成的新阵列,或 
              null。
 
 
-  
 
-