java.lang.Object
javax.security.auth.SubjectDomainCombiner
- すべての実装されたインタフェース:
DomainCombiner
public class SubjectDomainCombiner extends Object implements DomainCombiner
SubjectDomainCombiner
は、このSubjectDomainCombiner
に関連付けられたSubject
のPrincipalを使用して、ProtectionDomainを更新します。- 導入されたバージョン:
- 1.4
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)
このSubjectDomainCombiner
に関連付けられたSubject
のPrincipalを使用して、関連するProtectionDomainsを更新します。このSubjectDomainCombiner
に関連付けられたSubject
を取得します。
-
コンストラクタの詳細
-
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
内の対応するProtectionDomain
のCodeSource
、Permission
、ClassLoader
を使用して、および、この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
。
-