モジュール java.base
パッケージ javax.security.auth

クラスSubjectDomainCombiner

java.lang.Object
javax.security.auth.SubjectDomainCombiner
すべての実装されたインタフェース:
DomainCombiner

public class SubjectDomainCombiner
extends Object
implements DomainCombiner
SubjectDomainCombinerは、このSubjectDomainCombinerに関連付けられたSubjectのPrincipalを使用して、ProtectionDomainを更新します。
導入されたバージョン:
1.4
  • コンストラクタの詳細

    • SubjectDomainCombiner

      public SubjectDomainCombiner​(Subject subject)
      このSubjectDomainCombinerを、指定したSubjectと関連付けます。
      パラメータ:
      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のPrincipalを使用して、関連するProtectionDomainsを更新します。

      新しいProtectionDomainインスタンスが、currentDomains配列の各非静的ProtectionDomain((staticPermissionsOnly() == false)に対して作成されます。 新しいProtectionDomainインスタンスは、currentDomains内の対応するProtectionDomainCodeSourcePermissionClassLoaderを使用して、および、このSubjectDomainCombinerに関連付けられたSubjectのPrincipalを使用して作成されます。 静的ProtectionDomainsはそのまま結合され、新しいインスタンスは作成されません。

      すべてのProtectionDomains (静的で新しくインスタンス化された)が新しい配列に結合されます。 assignedDomains配列のProtectionDomainがこの新しい配列に追加されて、結果が返されます。

      重複するProtectionDomainの削除などの最適化が行われる場合があります。 また、ProtectionDomainのキャッシュを許可できます。

      定義:
      combine、インタフェース: DomainCombiner
      パラメータ:
      currentDomains - 現在の実行Threadに関連付けられたProtectionDomain (最新の特権付きProtectionDomainまで)。 ProtectionDomainsは実行順にリストされ、最も最近実行されたProtectionDomainが配列の先頭に存在します。 実行中のThreadにProtectionDomainが関連付けられていない場合、このパラメータはnullになる可能性がある。
      assignedDomains - AccessController.doPrivileged(..., context)の呼び出しが発生した場合、親スレッドから継承したProtectionDomains、または特権付きcontextのProtectionDomainsが発生した場合このパラメータは、親スレッドまたは特権contextから継承されたProtectionDomainsがない場合はnullです。
      戻り値:
      変更されたProtectionDomainで構成される新規配列、またはnull