JavaTM Platform
Standard Ed. 6

javax.rmi.CORBA
클래스 Util

java.lang.Object 
  상위를 확장 javax.rmi.CORBA.Util


public class Util
extends Object

공통의 조작을 실행하기 위해서 Stub 및 Tie 를 사용할 수 있는 유틸리티 메소드를 제공합니다.


메소드의 개요
static Object copyObject (Object  obj, ORB  orb)
          객체를 카피 또는 접속합니다.
static Object [] copyObjects (Object [] obj, ORB  orb)
          객체의 배열을 카피 또는 접속합니다.
static ValueHandler createValueHandler ()
          ValueHandler 인터페이스를 구현하는 클래스의 단독 인스턴스를 돌려줍니다.
static String getCodebase (Class  clz)
          지정된 클래스의 코드 베이스가 있으면, 그 코드 베이스를 돌려줍니다.
static Tie getTie (Remote  target)
          지정된 타겟 객체의 Tie 가 있으면, 그 Tie 를 돌려줍니다.
static boolean isLocal (Stub  stub)
          isLocal 메소드가 RemoteException 를 throw 할 수 있는 것을 제외해,ObjectImpl. _is_local 와 같은 시멘틱스를 가집니다.
static Class loadClass (String  className, String  remoteCodebase, ClassLoader  loader)
          지정된 클래스의 클래스 인스턴스를 돌려줍니다.
static RemoteException mapSystemException (SystemException  ex)
          SystemException 를 RemoteException 에 맵 합니다.
static Object readAny (InputStream  in)
          java.lang.Object 를 CORBA 의 Any 형으로서 읽어들입니다.
static void registerTarget (Tie  tie, Remote  target)
          Tie 의 타겟을 등록합니다.
static void unexportObject (Remote  target)
          관련지을 수 있었던 Tie 를 내부 테이블에서 삭제해,Tie.deactivate() 를 호출해 객체를 종료합니다.
static RemoteException wrapException (Throwable  orig)
          구현 메소드에 의해 throw 된 예외를 랩 합니다.
static void writeAbstractObject (OutputStream  out, Object  obj)
          java.lang.Object 를 값 또는 CORBA Object 로서 기입합니다.
static void writeAny (OutputStream  out, Object  obj)
          java.lang.Object 를 CORBA 의 Any 형으로서 기입합니다.
static void writeRemoteObject (OutputStream  out, Object  obj)
          java.lang.Object 를 CORBA Object 로서 기입합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

메소드의 상세

mapSystemException

public static RemoteException  mapSystemException(SystemException  ex)
SystemException 를 RemoteException 에 맵 합니다.

파라미터:
ex - 맵 하는 SystemException
반환값:
맵 된 예외

writeAny

public static void writeAny(OutputStream  out,
                            Object  obj)
java.lang.Object 를 CORBA 의 Any 형으로서 기입합니다.

파라미터:
out - Any 형을 기입하는 스트림
obj - Any 형으로서 기입하는 객체

readAny

public static Object  readAny(InputStream  in)
java.lang.Object 를 CORBA 의 Any 형으로서 읽어들입니다.

파라미터:
in - Any 형을 읽어들이는 스트림
반환값:
스트림로부터 읽힌 객체

writeRemoteObject

public static void writeRemoteObject(OutputStream  out,
                                     Object  obj)
java.lang.Object 를 CORBA Object 로서 기입합니다. obj 가 export 된 RMI-IIOP 서버 객체인 경우, Tie 가 검색되어 obj 에 연결시킬 수 있어 계속되어 out.write_Object(org.omg.CORBA.Object) 에 기입해집니다. obj 가 CORBA Object 인 경우,objout.write_Object(org.omg.CORBA.Object) 에 기입해집니다.

파라미터:
out - 객체를 기입하는 스트림
obj - 기입하는 객체

writeAbstractObject

public static void writeAbstractObject(OutputStream  out,
                                       Object  obj)
java.lang.Object 를 값 또는 CORBA Object 로서 기입합니다. obj 가 값객체 또는 Stub 객체인 경우,objout.write_abstract_interface(java.lang.Object) 에 기입해집니다. obj 가 export 된 RMI-IIOP 서버 객체인 경우, Tie 가 검색되어 obj 에 연결시킬 수 있어 계속되어 out.write_abstract_interface(java.lang.Object) 에 기입해집니다.

파라미터:
out - 객체를 기입하는 스트림
obj - 기입하는 객체

registerTarget

public static void registerTarget(Tie  tie,
                                  Remote  target)
Tie 의 타겟을 등록합니다. Tie 를 내부 테이블에 추가해, Tie 객체의 Tie.setTarget(java.rmi.Remote) 를 호출합니다.

파라미터:
tie - 등록하는 Tie
target - Tie 의 타겟

unexportObject

public static void unexportObject(Remote  target)
                           throws NoSuchObjectException 
관련지을 수 있었던 Tie 를 내부 테이블에서 삭제해,Tie.deactivate() 를 호출해 객체를 종료합니다.

파라미터:
target - 안 export 하는 객체
예외:
NoSuchObjectException

getTie

public static Tie  getTie(Remote  target)
지정된 타겟 객체의 Tie 가 있으면, 그 Tie 를 돌려줍니다.

반환값:
Tie, 또는 지정된 타겟으로 등록되어 있는 Tie 가 없는 경우는 null

createValueHandler

public static ValueHandler  createValueHandler()
ValueHandler 인터페이스를 구현하는 클래스의 단독 인스턴스를 돌려줍니다.

반환값:
ValueHandler 인터페이스를 구현하는 클래스

getCodebase

public static String  getCodebase(Class  clz)
지정된 클래스의 코드 베이스가 있으면, 그 코드 베이스를 돌려줍니다.

파라미터:
clz - 코드 베이스를 취득하는 클래스
반환값:
공백에서 단락지어진 URL 의 리스트, 또는 null

loadClass

public static Class  loadClass(String  className,
                              String  remoteCodebase,
                              ClassLoader  loader)
                       throws ClassNotFoundException 
지정된 클래스의 클래스 인스턴스를 돌려줍니다.  

이 메소드의 스펙은 「Java to IDL language mapping」(ptc/00-01-06)에 규정되고 있습니다.

Java SE 플랫폼에서는, 이 메소드는 다음과 같이 동작합니다.


isLocal

public static boolean isLocal(Stub  stub)
                       throws RemoteException 
isLocal 메소드가 RemoteException 를 throw 할 수 있는 것을 제외해,ObjectImpl. _is_local 와 같은 시멘틱스를 가집니다. Stub가, 특정의 객체가 로컬 서번트에 의해 구현되어 따라, 로컬 호출 API 를 사용할 수 있을지 어떨지를 판정할 수 있도록(듯이) _is_local() 가 제공됩니다.

파라미터:
stub - 테스트하는 Stub
반환값:
객체를 생성하는 서번트가 Stub와 같은 프로세스에 놓여져 양쪽 모두가 같은 ORB 인스턴스를 공유하는 경우,_is_local() 메소드는 true 를 돌려준다. 그렇지 않은 경우,_is_local() 메소드는 false 를 돌려준다. _is_local() 의 디폴트의 동작은 「false 를 돌려준다」
예외:
RemoteException - IDL 스펙의 Java 는 RemoteException 를 throw 되도록(듯이) 하는 조건을 지정하지 않습니다.

wrapException

public static RemoteException  wrapException(Throwable  orig)
구현 메소드에 의해 throw 된 예외를 랩 합니다. 해당하는 클라이언트측의 예외를 돌려줍니다.

파라미터:
orig - 랩 하는 예외
반환값:
랩 된 예외

copyObjects

public static Object [] copyObjects(Object [] obj,
                                   ORB  orb)
                            throws RemoteException 
객체의 배열을 카피 또는 접속합니다. 로컬 Stub가 실제의 파라미터를 임의의 수카피하는데 사용해, 필요에 따라서 파라미터간에 공유해 RMI 시멘틱스를 지원합니다.

파라미터:
obj - 카피 또는 접속 대상의 객체
orb - ORB
반환값:
카피 또는 접속된 객체
예외:
RemoteException - 카피 또는 접속할 수 있는 객체가 없는 경우

copyObject

public static Object  copyObject(Object  obj,
                                ORB  orb)
                         throws RemoteException 
객체를 카피 또는 접속합니다. 로컬 Stub가 실제의 파라미터, 결과 객체, 또는 예외를 카피하는데 사용합니다.

파라미터:
obj - 카피 대상의 객체
orb - ORB
반환값:
카피 또는 접속된 객체
예외:
RemoteException - 객체를 카피 또는 접속할 수 없는 경우

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 도 참조해 주세요.