Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface DomainCombiner
DomainCombiner
обеспечивает средство динамически обновить ProtectionDomains, связанный с током AccessControlContext
. A DomainCombiner
передается в качестве параметра соответствующему конструктору для AccessControlContext
. Недавно созданный контекст тогда передают к AccessController.doPrivileged(..., context)
метод, чтобы ограничить обеспеченный контекст (и связанный DomainCombiner
) с текущим Потоком выполнения. Последующие звонки AccessController.getContext
или AccessController.checkPermission
вызовите DomainCombiner.combine
быть вызванным.
Объединить метод берет два параметра. Первый параметр представляет массив ProtectionDomains от текущего Потока выполнения, начиная с нового звонка AccessController.doPrivileged
. Если никакой звонок doPrivileged не был сделан, то первый параметр будет содержать весь ProtectionDomains от текущего Потока выполнения. Второй параметр представляет массив наследованного ProtectionDomains, который может быть null
. ProtectionDomains может быть наследован от родительского Потока, или от привилегированного контекста. Если никакой звонок doPrivileged не был сделан, то второй параметр будет содержать ProtectionDomains, наследованный от родительского Потока. Если один или более звонков doPrivileged были сделаны, и новый вызов был к doPrivileged (действие, контекст), то второй параметр будет содержать ProtectionDomains от привилегированного контекста. Если новый вызов был к doPrivileged (действие), то нет никакого привилегированного контекста, и второй параметр будет null
.
combine
метод исследует два входных массива ProtectionDomains и возвращает единственный массив, содержащий обновленный ProtectionDomains. В самом простом случае, combine
метод объединяет два стека в одного. В более сложных случаях, combine
метод возвращает измененный стек ProtectionDomains. Модификация, возможно, добавила новый ProtectionDomains, удалила определенный ProtectionDomains, или просто обновила существующий ProtectionDomains. Переупорядочение и другая оптимизация к ProtectionDomains также разрешается. Обычно combine
метод базирует свои обновления об информации, инкапсулировавшей в DomainCombiner
.
После AccessController.getContext
метод получает объединенный стек ProtectionDomains назад от DomainCombiner
, это возвращает новый AccessControlContext, у которого есть оба объединенный ProtectionDomains так же как DomainCombiner
.
AccessController
, AccessControlContext
Модификатор и Тип | Метод и Описание |
---|---|
ProtectionDomain[] |
combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)
Измените или обновите предоставленный ProtectionDomains.
|
ProtectionDomain[] combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)
currentDomains
- ProtectionDomains связался с текущим Потоком выполнения до привилегированного нового ProtectionDomain
. ProtectionDomains, перечисляются в порядке выполнения, с последний раз выполнением ProtectionDomain
нахождение в начале массива. Этот параметр может быть null
если текущий Поток выполнения связал не ProtectionDomains.assignedDomains
- массив наследованного ProtectionDomains. ProtectionDomains может быть наследован от родительского Потока, или от привилегированного AccessControlContext
. Этот параметр может быть null
если есть не наследованные ProtectionDomains.null
.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.