JavaTM Platform
Standard Ed. 6

org.omg.PortableInterceptor
인터페이스 ORBInitInfoOperations

기존의 서브 인터페이스의 일람:
ORBInitInfo


public interface ORBInitInfoOperations

ORBInitializer 에게 건네져, ORB 가 초기화하고 있을 때 인타세프타를 등록하거나 다른 처리를 실행하거나 할 수 있도록(듯이) 합니다.

ORBInitInfo 객체는,ORB.init 의 실행중만 유효합니다. 서비스가 그 ORBInitInfo 객체에의 참조를 보관해,ORB.init 가 복귀한 후에 그것을 사용하려고 하면(자), 그 객체는 이제 존재하지 않기 때문에,OBJECT_NOT_EXIST 예외가 throw 됩니다.

관련 항목:
ORBInitializer

메소드의 개요
 void add_client_request_interceptor (ClientRequestInterceptor  interceptor)
          클라이언트측의 요구 인타세프타를 클라이언트측의 요구 인타세프타의 리스트에 추가합니다.
 void add_ior_interceptor (IORInterceptor  interceptor)
          IOR 인타세프타를 IOR 인타세프타의 리스트에 추가합니다.
 void add_server_request_interceptor (ServerRequestInterceptor  interceptor)
          서버측의 요구 인타세프타를 서버측의 요구 인타세프타의 리스트에 추가합니다.
 int allocate_slot_id ()
          PortableInterceptor.Current 에 슬롯을 할당하기 위해서(때문에) 불려 갑니다.
 String [] arguments ()
          ORB.init 에게 건네진 인수를 돌려줍니다.
 CodecFactory codec_factory ()
          IOP.CodecFactory 를 돌려줍니다.
 String orb_id ()
          초기화되는 ORB 의 ID 를 돌려줍니다.
 void register_initial_reference (String  id, Object  obj)
          ORB.register_initial_reference 와 같습니다.
 void register_policy_factory (int type, PolicyFactory  policy_factory)
          지정된 PolicyTypePolicyFactory 를 등록합니다.
 Object resolve_initial_references (String  id)
          ORB.resolve_initial_references 와 같습니다.
 

메소드의 상세

arguments

String [] arguments()
ORB.init 에게 건네진 인수를 돌려줍니다. ORB 의 인수가 포함되어 있는 경우도 포함되지 않은 경우도 있습니다.


orb_id

String  orb_id()
초기화되는 ORB 의 ID 를 돌려줍니다.


codec_factory

CodecFactory  codec_factory()
IOP.CodecFactory 를 돌려줍니다. CodecFactory 는 일반적으로,ORB.resolve_initial_references( "CodecFactory" ) 의 호출을 개입시켜 취득됩니다만, ORB 가 아직 이용하지 못하고, 인타세프타가 Codec 를 필요로 하는 (특히 서비스 문맥의 처리시) 모아 두어 ORB 의 초기화시에는 Codec 를 취득하는 수단이 필요합니다.


register_initial_reference

void register_initial_reference(String  id,
                                Object  obj)
                                throws InvalidName 
ORB.register_initial_reference 와 같습니다. 같은 기능이 여기에 준비되어 있는 것은, ORB 의 초기화가 완료하고 있지 않기 때문에 아직 이용할 수 없을 때에, 인타세프타 등록의 일환으로서 초기 참조를 등록하는 것이 필요한 경우가 있기 (위해)때문에입니다. 유일한 차이는, ORB 의 버젼에서는 PIDL (CORBA.ORB.ObjectIdCORBA.ORB.InvalidName)를 사용하는데 대해, 이 인터페이스의 버젼에서는 이 인터페이스에 정의된 IDL 를 사용하는 점입니다. 다만, 시멘틱스는 같습니다.

예외:
InvalidName

resolve_initial_references

Object  resolve_initial_references(String  id)
                                  throws InvalidName 
ORB.resolve_initial_references 와 같습니다. 같은 기능이 여기에 준비되어 있는 것은, ORB 의 초기화가 완료하고 있지 않기 때문에 아직 이용할 수 없을 때에, 인타세프타 등록의 일환으로서 초기 참조가 필요한 경우가 있기 때문입니다. 유일한 차이는, ORB 의 버젼에서는 PIDL (CORBA::ORB::ObjectIdCORBA::ORB::InvalidName)를 사용하는데 대해, 이 인터페이스의 버젼에서는 이 인터페이스에 정의된 IDL 를 사용하는 점입니다. 다만, 시멘틱스는 같습니다.

이 오퍼레이션은, post_init 의 실행시만 유효합니다.

예외:
InvalidName

add_client_request_interceptor

void add_client_request_interceptor(ClientRequestInterceptor  interceptor)
                                    throws DuplicateName 
클라이언트측의 요구 인타세프타를 클라이언트측의 요구 인타세프타의 리스트에 추가합니다.

파라미터:
interceptor - 추가한다 ClientRequestInterceptor
예외:
DuplicateName - 이 인타세프타의 이름을 가지는 클라이언트측의 요구 인타세프타가 벌써 존재하는 경우에 throw 된다

add_server_request_interceptor

void add_server_request_interceptor(ServerRequestInterceptor  interceptor)
                                    throws DuplicateName 
서버측의 요구 인타세프타를 서버측의 요구 인타세프타의 리스트에 추가합니다.

파라미터:
interceptor - 추가하는 ServerRequestInterceptor
예외:
DuplicateName - 이 인타세프타의 이름을 가지는 서버측의 요구 인타세프타가 벌써 존재하는 경우에 throw 된다

add_ior_interceptor

void add_ior_interceptor(IORInterceptor  interceptor)
                         throws DuplicateName 
IOR 인타세프타를 IOR 인타세프타의 리스트에 추가합니다.

파라미터:
interceptor - 추가하는 IORInterceptor
예외:
DuplicateName - 이 인타세프타의 이름을 가지는 IOR 인타세프타가 벌써 존재하는 경우에 throw 된다

allocate_slot_id

int allocate_slot_id()
PortableInterceptor.Current 에 슬롯을 할당하기 위해서(때문에) 불려 갑니다.

ORB 이니샤라이자의 내부에서 슬롯 ID 를 할당할 수 있습니다만, 그러한 슬롯을 초기화할 수 없기 때문에 주의해 주세요.

반환값:
할당할 수 있었던 슬롯의 인덱스
예외:
BAD_INV_ORDER - ORB 이니샤라이자의 내부에서 PICurrent 에 대해서 set_slot 또는 get_slot 가 불려 갔을 경우, 표준 마이너 코드 14 로 throw 되는
관련 항목:
Current

register_policy_factory

void register_policy_factory(int type,
                             PolicyFactory  policy_factory)
지정된 PolicyTypePolicyFactory 를 등록합니다.

파라미터:
type - 지정된 PolicyFactory 가 취급한다 정책형
policy_factory - 지정된 정책형의 팩토리
예외:
BAD_INV_ORDER - 지정된 PolicyTypePolicyFactory 가 없는 경우, 표준 마이너 코드 16 으로 throw 된다

JavaTM Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.