JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.security
인터페이스 DomainCombiner

기존의 구현 클래스의 일람:
SubjectDomainCombiner

public interface DomainCombiner

DomainCombiner 에서는 동적으로 현행의 AccessControlContext 에 관련한 ProtectionDomains 를 변경하는 수단을 제공합니다.

DomainCombinerAccessControlContext 의 적절한 constructor 에 파라미터로서 건네받습니다. 다음에, 이 새롭게 구축된 문맥은 AccessController.doPrivileged(..., context) 메소드에게 건네져, 지정된 문맥과 거기에 관련한 DomainCombiner 를 현행의 실행 Thread 에 바인드 합니다. 그 후,AccessController.getContext 또는 AccessController.checkPermission 를 호출하면(자),DomainCombiner.combine 가 불려 갑니다.

combine 메소드에는 인수가 2 개 있습니다. 제 1 인수는 현재 실행중의 Thread 의,AccessController.doPrivileged 를 마지막으로 호출하고 나서의, ProtectionDomains 의 배열을 나타냅니다. doPrivileged 의 호출이 없는 경우, 제 1 인수에는 실행중의 Thread 로부터의 모든 ProtectionDomains 가 포함됩니다. 제 2 인수는 계승된 ProtectionDomains 의 배열을 나타냅니다. 이 인수는 null 의 경우도 있습니다. ProtectionDomains 는 친 Thread 인가, 특권 첨부 문맥으로부터 계승됩니다. doPrivileged 의 호출이 없는 경우, 제 2 인수에 친 Thread 로부터 계승된 ProtectionDomains 가 포함됩니다. doPrivileged 가 1 회 이상 불려 가 최신의 호출이 doPrivileged(action, context)인 경우는 제 2 인수에 특권 첨부 문맥으로부터의 ProtectDomains 이 포함됩니다. 최신의 호출이 doPrivileged(action)인 경우, 특권 첨부 문맥은 존재하지 않고 제 2 인수는 null 가 됩니다.

combine 메소드에서는 ProtectionDomains 의 2 방법의 입력 배열을 조사해 변경된 ProtectionDomains 를 포함한 배치를 1 개 돌려줍니다. 가장 단순한 경우,combine 메소드는 2 개의 스택을 1 개에 통합합니다. 복잡하게 되면(자), 이 메소드는 ProtectionDomains 의 변경이 끝난 스택을 돌려줍니다. 변경에는 신규 ProtectionDomains 의 추가, 특정의 ProtectionDomains 의 삭제, 또는 간단하게 변경된 기존의 ProtectionDomains 가 있습니다. ProtectionDomains 에 대한 재순서부와 그 외의 최적화도 또 허가됩니다. 통상,combine 메소드는 DomainCombiner 로 캡슐화된 정보에 관한 메소드의 변경을 기본으로 합니다.

AccessController.getContext 메소드는 짜 합쳐진 ProtectionDomains 의 스택을 DomainCombiner 로부터 받은 후,DomainCombiner 와 짜 합쳐진 ProtectionDomains 의 2 개를 가지는 신규 AccessControlContext 를 돌려줍니다.

관련 항목:
AccessController , AccessControlContext

메소드의 개요
 ProtectionDomain [] combine (ProtectionDomain [] currentDomains, ProtectionDomain [] assignedDomains)
          지정된 ProtectionDomains 를 변경 또는 갱신합니다.
 

메소드의 상세

combine

public ProtectionDomain [] combine(ProtectionDomain [] currentDomains,
                                  ProtectionDomain [] assignedDomains)
지정된 ProtectionDomains 를 변경 또는 갱신합니다. ProtectionDomains 는 지정된 ProtectionDomains 에 추가되거나 삭제 되거나 하는 일이 있습니다. ProtectionDomains 는 또, 재순서 붙이고 되는 일도 있습니다. 개별의 ProtectionDomains 의 경우, Permissions 의 신규 세트등을 사용해 변경되는 일이 있습니다.

파라미터:
currentDomains - 실행중의 Thread 에 관련한 ProtectionDomains 는 최종 특권 첨부 ProtectionDomain 에 따라서 다르다. ProtectionDomains 는 마지막에 실행한 ProtectionDomain 를 배열의 선두로 해, 실행된 순서로 열거된다. 실행중의 Thread 가 관련한 ProtectionDomains 를 가지지 않는 경우, 이 파라미터는 null 의 가능성이 있다

assignedDomains - 계승된 ProtectionDomains 의 배열. ProtectionDomains 는 친 Thread 인가, 특권 첨부의 AccessControlContext 로부터 계승하고 있다. 계승된 ProtectionDomains 가 없는 경우, 이 파라미터는 null
반환값:
변경된 ProtectionDomains 로 구성되는 신규 배열, 또는 null

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

버그의 보고와 기능의 리퀘스트
이외의 API 레퍼런스 및 개발자용 문서에 대해서는 Java 2 SDK SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.