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