JavaTM 2
Platform
Std.  Ed.  v1. 4.0

org.omg.CORBA.portable
클래스 Delegate

java.lang.Object 
  |
  +--org.omg.CORBA.portable.Delegate
직계의 기존의 서브 클래스:
Delegate

public abstract class Delegate
extends Object

ORB 벤더 고유의 org.omg.CORBA.Object 메소드를 구현하기 위한 휴대용 API 를 지정합니다. 각 그루터기 (프록시)는 모든 org.omg.CORBA.Object 메소드의 전송처가 되는 delegate 오브젝트를 저장합니다. 이것에 의해, 어느 벤더의 ORB 에 의해 생성된 그루터기가, 다른 벤더의 ORB 로부터의 delegate 오브젝트와 함께 동작할 수 있습니다.

관련 항목:
Object

생성자의 개요
Delegate ()
           
 
메소드의 개요
abstract  Request create_request (Object  obj, Context  ctx, String  operation, NVList  arg_list, NamedValue  result)
          Dynamic Invocation Interface 로 사용되는 Request 의 인터페이스를 작성합니다.
abstract  Request create_request (Object  obj, Context  ctx, String  operation, NVList  arg_list, NamedValue  result, ExceptionList  exclist, ContextList  ctxlist)
          Dynamic Invocation Interface 로 사용되는 Request 의 인터페이스를 작성합니다.
abstract  Object duplicate (Object  obj)
          지정된 오브젝트 참조의 복제를 돌려줍니다.
 boolean equals (Object  self, Object  obj)
          delegate CORBA 오브젝트의 equals(java.lang.Object obj) 메소드를 오버라이드(override) 하는 구현을 제공합니다.
 DomainManager [] get_domain_managers (Object  self)
          이 오브젝트의 DomainManager 를 꺼냅니다.
abstract  Object get_interface_def (Object  self)
          지정된 오브젝트 참조의 InterfaceDef 를 돌려줍니다.
 Policy get_policy (Object  self, int policy_type)
          이 오브젝트에 적용하는 지정된 형태의 Policy 오브젝트를 돌려줍니다.
abstract  int hash (Object  obj, int max)
          이 오브젝트 참조의 ORB 내부 식별자 (해시 코드)를 돌려줍니다.
 int hashCode (Object  self)
          delegate CORBA 오브젝트의 hashCode() 메소드를 오버라이드(override) 하는 구현을 제공합니다.
 InputStream invoke (Object  self, OutputStream  output)
          invoke 는 오퍼레이션을 호출하기 위해서(때문에) 그루터기에 의해 불려 갑니다.
abstract  boolean is_a (Object  obj, String  repository_id)
          오브젝트 참조가, 지정된 인터페이스의 인스턴스일지 어떨지를 판정합니다.
abstract  boolean is_equivalent (Object  obj, Object  other)
          2 개의 오브젝트 참조가 등가인가 어떤가를 판정합니다.
 boolean is_local (Object  self)
          이 오브젝트가 로컬 서번트에 의해 구현되는 경우는 true 를 돌려줍니다.
abstract  boolean non_existent (Object  obj)
          오브젝트 참조의 서버 오브젝트가 파기되고 있는지 어떤지를 판정합니다.
 ORB orb (Object  obj)
          파라미터에 관련한 orb 에의 참조를 제공합니다.
abstract  void release (Object  obj)
          지정된 오브젝트 참조에 관련한 리소스를 해방합니다.
 void releaseReply (Object  self, InputStream  input)
          releaseReply 는 비정렬화가 완료했을 때에 ORB 에 되돌려지는 응답 스트림을 해방하기 위해서, 그루터기에 의해 임의에 불려 가는 일이 있습니다.
abstract  Request request (Object  obj, String  operation)
          Dynamic Invocation Interface 로 사용되는 Request 의 인터페이스를 작성합니다.
 OutputStream request (Object  self, String  operation, boolean responseExpected)
          request 는 인수의 정렬화이기 때문에, OutputStream 를 취득하는 목적으로 그루터기에 의해 불려 갑니다.
 void servant_postinvoke (Object  self, ServantObject  servant)
          servant_postinvoke()는 로컬 서번트로 이 오퍼레이션이 불려 간 후에, 로컬 그루터기에 의해 불려 갑니다.
 ServantObject servant_preinvoke (Object  self, String  operation, Class  expectedType)
          이 요구로 사용될 필요가 있는 서번트에게로의 Java 참조를 돌려줍니다.
 Object set_policy_override (Object  self, Policy [] policies, SetOverrideType  set_add)
          건네받은 폴리시를, 돌려주어지는 새롭게 작성된 오브젝트 참조와 관련짓습니다.
 String toString (Object  self)
          delegate CORBA 오브젝트의 toString() 메소드를 오버라이드(override) 하는 구현을 제공합니다.
 
클래스 java.lang. Object 에서 상속받은 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자의 상세

Delegate

public Delegate()
메소드의 상세

get_interface_def

public abstract Object  get_interface_def(Object  self)
지정된 오브젝트 참조의 InterfaceDef 를 돌려줍니다.

파라미터:
self - InterfaceDef 를 돌려줄 필요가 있는 오브젝트 참조
반환값:
InterfaceDef

duplicate

public abstract Object  duplicate(Object  obj)
지정된 오브젝트 참조의 복제를 돌려줍니다.

파라미터:
obj - 복제를 돌려줄 필요가 있는 오브젝트 참조
반환값:
복제된 오브젝트 참조

release

public abstract void release(Object  obj)
지정된 오브젝트 참조에 관련한 리소스를 해방합니다.

파라미터:
obj - 리소스를 해방할 필요가 있는 오브젝트 참조

is_a

public abstract boolean is_a(Object  obj,
                             String  repository_id)
오브젝트 참조가, 지정된 인터페이스의 인스턴스일지 어떨지를 판정합니다.

파라미터:
obj - 조사 대상의 오브젝트 참조
repository_id - 조사 대상의 인터페이스의 리포지터리(repository) ID
반환값:
오브젝트 참조가 인터페이스를 서포트하고 있는 경우는 true

non_existent

public abstract boolean non_existent(Object  obj)
오브젝트 참조의 서버 오브젝트가 파기되고 있는지 어떤지를 판정합니다.

파라미터:
obj - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
반환값:
서버 오브젝트가 존재하지 않는 것을 ORB 가 정식으로 인식하고 있는 경우는 true, 그렇지 않은 경우는 false

is_equivalent

public abstract boolean is_equivalent(Object  obj,
                                      Object  other)
2 개의 오브젝트 참조가 등가인가 어떤가를 판정합니다.

파라미터:
obj - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
other - 등가인가 어떤가 조사하는 대상이 되는 오브젝트 참조
반환값:
2 개의 오브젝트의 CORBA 가 등가의 경우 true

hash

public abstract int hash(Object  obj,
                         int max)
이 오브젝트 참조의 ORB 내부 식별자 (해시 코드)를 돌려줍니다.

파라미터:
obj - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
max - ORB 에 의해 돌려주어지는 해시치의 상한
반환값:
오브젝트 참조의 ORB 내부 해시 식별자

request

public abstract Request  request(Object  obj,
                                String  operation)
Dynamic Invocation Interface 로 사용되는 Request 의 인터페이스를 작성합니다.

파라미터:
obj - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
operation - Request 인스턴스를 사용해 불려 가는 오퍼레이션의 이름
반환값:
생성된 Request 의 인스턴스

create_request

public abstract Request  create_request(Object  obj,
                                       Context  ctx,
                                       String  operation,
                                       NVList  arg_list,
                                       NamedValue  result)
Dynamic Invocation Interface 로 사용되는 Request 의 인터페이스를 작성합니다.

파라미터:
obj - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
ctx - 사용되는 문맥
operation - 불려 가는 오퍼레이션의 이름
arg_list - NVList 형식의 오퍼레이션의 인수
result - 결과가 저장되는 NamedValue 로서의 컨테이너
반환값:
작성된 Request 오브젝트

create_request

public abstract Request  create_request(Object  obj,
                                       Context  ctx,
                                       String  operation,
                                       NVList  arg_list,
                                       NamedValue  result,
                                       ExceptionList  exclist,
                                       ContextList  ctxlist)
Dynamic Invocation Interface 로 사용되는 Request 의 인터페이스를 작성합니다.

파라미터:
obj - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
ctx - 사용되는 문맥
operation - 불려 가는 오퍼레이션의 이름
arg_list - NVList 형식의 오퍼레이션의 인수
result - 결과가 저장되는 NamedValue 로서의 컨테이너
exclist - 오퍼레이션이 슬로우 할 가능성이 있는 예외의 리스트
ctxlist - Request 와 함께 해결해 송신될 필요가 있는 문맥 캐릭터 라인의 리스트
반환값:
작성된 Request 오브젝트

orb

public ORB  orb(Object  obj)
파라미터에 관련한 orb 에의 참조를 제공합니다.

파라미터:
obj - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
반환값:
관련한 orb
관련 항목:
portable 패키지에 구현되어 있지 않은 기능에 대한 코멘트

get_policy

public Policy  get_policy(Object  self,
                         int policy_type)
이 오브젝트에 적용하는 지정된 형태의 Policy 오브젝트를 돌려줍니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
policy_type - 취득되는 폴리시의 형태
반환값:
policy_type 파라미터로 지정된 형태의 Policy 오브젝트
예외:
BAD_PARAM - 이 ORB 가 지정된 형태를 서포트하고 있지 않는지 혹은 그 형태의 폴리시 오브젝트가 이 Object 에 관련지을 수 있지 않기 위해(때문에), 폴리시형의 값이 유효하지 않은 경우
관련 항목:
portable 패키지에 구현되어 있지 않은 기능에 대한 코멘트

get_domain_managers

public DomainManager [] get_domain_managers(Object  self)
이 오브젝트의 DomainManager 를 꺼냅니다. 이것에 의해, 관리 서비스나 어플리케이션은 도메인 매니저를 꺼낼 수 있습니다. 따라서, 도메인의 멤버인 개개의 오브젝트에 적용 가능한 시큐러티와 다른 폴리시를 꺼낼 수 있게 됩니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
반환값:
이 오브젝트를 직접 둘러싸는 도메인 매니저의 리스트. 각 오브젝트는 작성시에 디폴트로 1 개 이상의 도메인 매니저에 관련지을 수 있으므로, 이 리스트에서는 항상 1 kr 이상의 도메인 매니저가 돌려주어지는
관련 항목:
portable 패키지에 구현되어 있지 않은 기능에 대한 코멘트

set_policy_override

public Object  set_policy_override(Object  self,
                                  Policy [] policies,
                                  SetOverrideType  set_add)
건네받은 폴리시를, 돌려주어지는 새롭게 작성된 오브젝트 참조와 관련짓습니다. 클라이언트측의 오퍼레이션 호출해에 적합하는 특정의 폴리시만을, 이 오퍼레이션을 사용해 오버라이드(override) 할 수 있습니다. 다른 폴리시를 오버라이드(override) 하려고 하면(자), CORBA::NO_PERMISSION 예외가 슬로우 됩니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
policies - Policy 오브젝트에의 참조의 순차 순서
set_add - 오브젝트 참조에 벌써 존재하는 다른 오버라이드(override)에 이러한 폴리시를 추가하는 (ADD_OVERRIDE) 의 것인지 혹은 오버라이드(override)되어 있지 않은 깨끗한 오브젝트 참조에 추가하는 (SET_OVERRIDE) 의 것인지를 나타냅니다.
반환값:
관련한 새로운 폴리시가 있는 새로운 오브젝트 참조
관련 항목:
portable 패키지에 구현되어 있지 않은 기능에 대한 코멘트

is_local

public boolean is_local(Object  self)
이 오브젝트가 로컬 서번트에 의해 구현되는 경우는 true 를 돌려줍니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
반환값:
이 오브젝트를 생성하는 서번트가 이 Java VM 에 놓여져 있는 경우에게만 true. 서번트가 로컬이 아닌 경우, 혹은 ORB 가 이 특정의 서번트의 로컬 그루터기를 서포트하고 있지 않는 경우는 false. is_local()의 디폴트의 동작에서는 false 를 돌려준다

servant_preinvoke

public ServantObject  servant_preinvoke(Object  self,
                                       String  operation,
                                       Class  expectedType)
이 요구로 사용될 필요가 있는 서번트에게로의 Java 참조를 돌려줍니다. servant_preinvoke()는 로컬 그루터기에 의해 불려 갑니다. ServantObject 오브젝트가 돌려주어지는 경우, 그 서번트 필드는 예상되는 오브젝트형으로 설정되어 있습니다 (주: 오브젝트는 실제의 서번트 인스턴스인 경우와 없는 경우가 있다). 로컬 그루터기는 서번트 필드를 예상되는 형태에 캐스트 하고 나서, 직접 그 오퍼레이션을 호출하는 일도 있습니다. ServantRequest 오브젝트는 1 회의 호출에 대해서만 유효하고, 복수의 호출에 대해서는 사용할 수 없습니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
operation - 오퍼레이션명이 저장되고 있는 캐릭터 라인. 오퍼레이션명은 GIOP 요구로 encode 되는 오퍼레이션명에 대응하는
expectedType - 서번트가 예상되는 형태를 나타내는 Class 오브젝트. 예상되는 형태는 그루터기의 인터페이스의 오퍼레이션 클래스에 관련한 Class 오브젝트. 예를 들어, 인터페이스 Foo 의 그루터기의 경우는 FooOperations 인터페이스에 Class 오브젝트를 건네준다
반환값:
ServantObject 오브젝트. 메소드가, 시큐러티, 트랜잭션(transaction)등을 (위해)때문에 이 최적화를 서포트하지 않는 경우, 이 메소드는 null 치를 돌려주는 일이 있다. 서번트가 예상되는 형태가 아닌 경우, 이 메소드는 null 를 돌려줄 필요가 있다

servant_postinvoke

public void servant_postinvoke(Object  self,
                               ServantObject  servant)
servant_postinvoke()는 로컬 서번트로 이 오퍼레이션이 불려 간 후에, 로컬 그루터기에 의해 불려 갑니다. 이 메소드는 서번트의 메소드에 의해 예외가 슬로우 되었을 경우에서도, servant_preinvoke()가 null 이외의 값을 돌려주었을 경우에 불려 갈 필요가 있습니다. 이 때문에, servant_postinvoke()의 호출은 Java 의 finally 절에 두지 않으면 안됩니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
servant - servant_preinvoke() 메소드로부터 돌려주어진 ServantObject 의 인스턴스

request

public OutputStream  request(Object  self,
                            String  operation,
                            boolean responseExpected)
request 는 인수의 정렬화이기 때문에, OutputStream 를 취득하는 목적으로 그루터기에 의해 불려 갑니다. 그루터기는 오퍼레이션명을 지정해, 응답이 예상될지 어떨지 (즉, 한방향의 호출인가 어떤가)를 지정할 필요가 있습니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
operation - 오퍼레이션명이 저장되고 있는 캐릭터 라인. 오퍼레이션명은 GIOP 요구로 encode 되는 오퍼레이션명에 대응하는
responseExpected - 오퍼레이션이 한방향의 오퍼레이션의 경우는 false, 그렇지 않은 경우는 true
반환값:
요구 인수가 정렬화 되는 OutputStream
관련 항목:
portable 패키지에 구현되어 있지 않은 기능에 대한 코멘트

invoke

public InputStream  invoke(Object  self,
                          OutputStream  output)
                   throws ApplicationException ,
                          RemarshalException 
invoke 는 오퍼레이션을 호출하기 위해서(때문에) 그루터기에 의해 불려 갑니다. 이 그루터기는 이전에 request() 호출에 의해 돌려주어진 OutputStream 를 제공합니다. invoke 는 정렬화 된 응답이 저장되는 InputStream 를 돌려줍니다. 예외가 발생했을 경우, invoke 는 유저 예외 상태가 비정렬화 되는 InputStream 가 저장되고 있는 ApplicationException 오브젝트를 슬로우 하는 경우도 있습니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
output - 정렬화 된 인수를 저장하는 OutputStream
반환값:
input 응답 파라미터가 비정렬화 되는 InputStream
예외:
ApplicationException - 구현이 리모트 메소드의 일부로서 정의된 예외를 (호출시에) 슬로우 하는 경우
RemarshalException - 비정렬화가 실패했을 경우
관련 항목:
portable 패키지에 구현되어 있지 않은 기능에 대한 코멘트

releaseReply

public void releaseReply(Object  self,
                         InputStream  input)
releaseReply 는 비정렬화가 완료했을 때에 ORB 에 되돌려지는 응답 스트림을 해방하기 위해서, 그루터기에 의해 임의에 불려 가는 일이 있습니다. 그루터기는 invoke() 또는 ApplicationException.getInputStream()에 의해 돌려주어진 InputStream 를 건네줍니다. 또, null 치도 releaseReply 에게 건네지는 일이 있어, 그 경우 이 메소드는 아무것도 실시하지 않습니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
input - invoke()로부터 돌려주어지는 InputStream
관련 항목:
portable 패키지에 구현되어 있지 않은 기능에 대한 코멘트

toString

public String  toString(Object  self)
delegate CORBA 오브젝트의 toString() 메소드를 오버라이드(override) 하는 구현을 제공합니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
반환값:
Delegate 오브젝트에 delegate 한 오브젝트 참조를 나타내는 String 오브젝트

hashCode

public int hashCode(Object  self)
delegate CORBA 오브젝트의 hashCode() 메소드를 오버라이드(override) 하는 구현을 제공합니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
반환값:
Delegate 오브젝트에 delegate 한 오브젝트 참조의 해시 코드를 나타내는 int

equals

public boolean equals(Object  self,
                      Object  obj)
delegate CORBA 오브젝트의 equals(java.lang.Object obj) 메소드를 오버라이드(override) 하는 구현을 제공합니다.

파라미터:
self - 이 delegate 오브젝트에 delegate 한 오브젝트 참조
obj - 비교 대상의 Object
반환값:
objself 와 동일한 경우는 true, 그렇지 않은 경우는 false

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.