public class SubjectDomainCombiner extends Object implements DomainCombiner
SubjectDomainCombiner
は、このSubjectDomainCombiner
に関連付けられたSubject
のPrincipalを使用して、ProtectionDomainを更新します。コンストラクタと説明 |
---|
SubjectDomainCombiner(Subject subject)
この
SubjectDomainCombiner を、指定したSubject と関連付けます。 |
修飾子と型 | メソッドと説明 |
---|---|
ProtectionDomain[] |
combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)
この
SubjectDomainCombiner に関連付けられたSubject のPrincipalを使用して、関連するProtectionDomainsを更新します。 |
Subject |
getSubject()
この
SubjectDomainCombiner に関連付けられたSubject を取得します。 |
public SubjectDomainCombiner(Subject subject)
SubjectDomainCombiner
を、指定したSubject
と関連付けます。
subject
- このSubjectDomainCombiner
に関連付けられるSubject
。public Subject getSubject()
SubjectDomainCombiner
に関連付けられたSubject
を取得します。
SubjectDomainCombiner
に関連付けられているSubject
。このSubjectDomainCombiner
に関連付けられているSubject
が存在しない場合はnull
。SecurityException
- 呼出し側に、このSubjectDomainCombiner
に関連付けられたSubject
を取得するための権限がない場合。public ProtectionDomain[] combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)
SubjectDomainCombiner
に関連付けられたSubject
のPrincipalを使用して、関連するProtectionDomainsを更新します。
新しいProtectionDomain
インスタンスが、currentDomains配列の各ProtectionDomain
に対して作成されます。新しいProtectionDomain
インスタンスは、currentDomains内の対応するProtectionDomain
のCodeSource
、Permission
、ClassLoader
を使用して、および、このSubjectDomainCombiner
に関連付けられたSubject
のPrincipalを使用して作成されます。
新しくインスタンス化されたProtectionDomainは、すべて新しい配列に結合されます。assignedDomains配列のProtectionDomainがこの新しい配列に追加されて、結果が返されます。
重複するProtectionDomainの削除などの最適化が行われる場合があります。また、ProtectionDomainのキャッシュを許可できます。
combine
、インタフェース: DomainCombiner
currentDomains
- 現在の実行Threadに関連付けられたProtectionDomain (最新の特権付きProtectionDomain
まで)。ProtectionDomainsは、最後に実行したProtectionDomain
を配列の先頭にして、実行された順で列挙される。実行中のThreadにProtectionDomainが関連付けられていない場合、このパラメータはnull
になる可能性がある。assignedDomains
- 親Threadから継承したProtectionDomain。AccessController.doPrivileged(..., context)が呼び出された場合は、特権コンテキストから継承したProtectionDomain。親Threadまたは特権コンテキストから継承したProtectionDomainがない場合はnull
。null
。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.