|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectorg.omg.CORBA.ORB
public abstract class ORB
CORBA Object Request Broker 기능을 위한 API 를 제공하는 클래스입니다. ORB 클래스는, 다른 벤더의 ORB 구현을 사용할 수 있도록(듯이) 하는 「플러그 인 가능한 ORB 구현」API 도 제공합니다.
ORB 는, 요구를 발행하는 측의 객체 (클라이언트)와 요구를 처리하는 측의 객체 (서버)를 접속하는 것에 의해, CORBA 객체간의 상호통신을 가능하게 합니다.
ORB
클래스는 범용 CORBA 기능을 캡슐화해서 , 다음과 같은 조작을 실시합니다. 항목의 5 로 6 (ORB
클래스의 대부분의 메소드를 포함한다)은, 일반적으로,Dynamic Invocation Interface
(DII)와 Dynamic Skeleton Interface
(DSI)로 사용됩니다. 이러한 인터페이스는, 개발자가 직접 사용할 수도 있습니다만, 일반적으로은 ORB 로 내부적으로 사용되기 (위해)때문에, 일반의 프로그래머가 볼 것은 없습니다.
resolve_initial_references
메소드를 사용해, 네임 서비스등의 서비스에의 초기 객체 참조를 취득한다
TypeCode
Any
NamedValue
Context
Environment
NVList
등)
ORB
클래스를 사용하면(자), 객체가 네트워크상의 어디에 구현되고 있어도, 그 참조를 취득할 수 있습니다.
어플리케이션이나 애플릿은, 3 개의 init
메소드의 1 개를 사용해 그 자체를 ORB
에 대해서 초기화하는 것으로써, CORBA 환경에의 액세스를 가져옵니다. 3 개의 메소드중 2 개(살)은, 다음의 겉(표)에 기재되어 있는 프로퍼티 (이름과 값과의 관련짓고)을 사용합니다.
프로퍼티명 | 프로퍼티치 |
---|---|
org.omg.CORBA.ORBClass | ORB 구현의 클래스명 |
org.omg.CORBA.ORBSingletonClass | init() 가 돌려주는 ORB 의 클래스명 |
이러한 프로퍼티에 의해, 다양한 벤더의 ORB
구현이 플러그 인 가능하게 됩니다.
ORB 인스턴스의 생성시에는, ORB 구현의 클래스명이 다음의 표준 검색순서로 검색됩니다.
Java IDL 는 풀 기능의 ORB 와 단체 ORB 에 대해서 디폴트 구현을 제공합니다. init
메소드에 파라미터를 지정하지 않았던 경우는, 디폴트의 단체 ORB 가 돌려주어집니다. init
메소드에 파라미터를 지정했을 경우, ORB 클래스를 지정하지 않았을 때는, Java IDL ORB 구현이 돌려주어집니다.
다음에, 디폴트의 단체 ORB 로 초기화되는 ORB
객체를 작성하는 코드를 나타냅니다. 악의가 있는 애플릿이 형태 코드의 작성 이외의 조작을 할 수 없게, 이 ORB 의 구현은 제한부입니다. 이 구현은, 가상 머신 전체로 인스턴스가 1 개 밖에 없기 때문에, 단체 (singleton)로 불립니다.
ORB orb = ORB.init();
다음에, 어플리케이션의 ORB
객체를 작성하는 코드를 나타냅니다. args
파라미터는, 어플리케이션의 main
메소드로 지정되고 있는 인수를 나타냅니다. 프로퍼티은 ORB 클래스를 「SomeORBImplementation」로서 지정하므로, 새로운 ORB 는 그 ORB 구현으로 초기화됩니다. p 가 null 로 A 인수가 ORB 클래스를 지정하고 있지 않았던 경우, 새로운 ORB 는 디폴트의 Java IDL 구현으로 초기화됩니다.
Properties p = new Properties(); p.put("org.omg.CORBA.ORBClass", "SomeORBImplementation"); ORB orb = ORB.init( args, p );
다음에, 1 번째의 파라미터로서 지정된 애플릿의 ORB
객체를 작성하는 코드를 나타냅니다. 지정된 애플릿이 ORB 클래스를 지정하고 있지 않는 경우는, 새로운 ORB 는 디폴트의 Java IDL 구현으로 초기화됩니다.
ORB orb = ORB.init(myApplet, null);
어플리케이션이나 애플릿은, 1 개(살) 이상의 ORB 로 초기화할 수 있습니다. ORB 에서의 초기화는, CORBA 의 세계에 대한 bootstrap 호출입니다.
생성자 의 개요 | |
---|---|
ORB ()
|
메소드의 개요 | |
---|---|
void |
connect (Object obj)
지정된 서번트 객체 (서버 구현 클래스의 인스턴스인 Java 객체)를 ORB 에 접속합니다. |
TypeCode |
create_abstract_interface_tc (String id,
String name)
IDL 의 추상 인터페이스의 TypeCode 객체를 생성합니다. |
abstract TypeCode |
create_alias_tc (String id,
String name,
TypeCode original_type)
IDL 의 alias (typedef )를 나타내는 TypeCode 객체를 생성합니다. |
abstract Any |
create_any ()
kind 필드가 TCKind.tc_null 로 설정된 TypeCode 객체를 포함하도록(듯이) 초기화된, IDL 의 Any 객체를 생성합니다. |
abstract TypeCode |
create_array_tc (int length,
TypeCode element_type)
IDL 의 array 를 나타내는 TypeCode 객체를 생성합니다. |
DynAny |
create_basic_dyn_any (TypeCode type)
추천 되고 있지 않습니다. 대신에 새로운 DynAnyFactory API 를 사용해 주세요. |
abstract ContextList |
create_context_list ()
빈 상태(empty)의 ContextList 객체를 생성합니다. |
DynAny |
create_dyn_any (Any value)
추천 되고 있지 않습니다. 대신에 새로운 DynAnyFactory API 를 사용해 주세요. |
DynArray |
create_dyn_array (TypeCode type)
추천 되고 있지 않습니다. 대신에 새로운 DynAnyFactory API 를 사용해 주세요. |
DynEnum |
create_dyn_enum (TypeCode type)
추천 되고 있지 않습니다. 대신에 새로운 DynAnyFactory API 를 사용해 주세요. |
DynSequence |
create_dyn_sequence (TypeCode type)
추천 되고 있지 않습니다. 대신에 새로운 DynAnyFactory API 를 사용해 주세요. |
DynStruct |
create_dyn_struct (TypeCode type)
추천 되고 있지 않습니다. 대신에 새로운 DynAnyFactory API 를 사용해 주세요. |
DynUnion |
create_dyn_union (TypeCode type)
추천 되고 있지 않습니다. 대신에 새로운 DynAnyFactory API 를 사용해 주세요. |
abstract TypeCode |
create_enum_tc (String id,
String name,
String [] members)
IDL 의 enum 를 나타내는 TypeCode 객체를 생성합니다. |
abstract Environment |
create_environment ()
Environment 객체를 생성합니다. |
abstract ExceptionList |
create_exception_list ()
빈 상태(empty)의 ExceptionList 객체를 생성합니다. |
abstract TypeCode |
create_exception_tc (String id,
String name,
StructMember [] members)
IDL 의 exception 를 나타내는 TypeCode 객체를 생성합니다. |
TypeCode |
create_fixed_tc (short digits,
short scale)
IDL fixed 형의 TypeCode 객체를 생성합니다. |
abstract TypeCode |
create_interface_tc (String id,
String name)
IDL 의 interface 를 나타내는 TypeCode 객체를 생성합니다. |
abstract NVList |
create_list (int count)
지정수의 NamedValue 객체에 있어 (아마) 충분한 공간을 NVList 에 할당합니다. |
abstract NamedValue |
create_named_value (String s,
Any any,
int flags)
지정된 이름, 값, 인수 모드 플래그를 사용해, NamedValue 객체를 생성합니다. |
TypeCode |
create_native_tc (String id,
String name)
IDL 네이티브형의 TypeCode 객체를 생성합니다. |
NVList |
create_operation_list (Object oper)
지정된 OperationDef 객체로 기술되는 조작의 인수 기술로 초기화된,NVList 를 생성합니다. |
abstract OutputStream |
create_output_stream ()
새로운 org.omg.CORBA.portable.OutputStream 객체를 생성합니다. |
Policy |
create_policy (int type,
Any val)
지정된 초기 상태로 특정의 형태의 정책 객체의 인스턴스를 신규 작성하기 위해서 불려 갑니다. |
abstract TypeCode |
create_recursive_sequence_tc (int bound,
int offset)
추천 되고 있지 않습니다. 대신에 create_recursive_tc 와 create_sequence_tc 의 편성을 사용해 주세요. |
TypeCode |
create_recursive_tc (String id)
재귀를 포함한 TypeCode 를 생성하는 처리 시에, 구상 TypeCode 의 플레이스홀더로서 기능하는 재귀 TypeCode 를 생성합니다. |
abstract TypeCode |
create_sequence_tc (int bound,
TypeCode element_type)
IDL 의 sequence 를 나타내는 TypeCode 객체를 생성합니다. |
abstract TypeCode |
create_string_tc (int bound)
IDL 의 바운드 형식 string 를 나타내는 TypeCode 객체를 생성합니다. |
abstract TypeCode |
create_struct_tc (String id,
String name,
StructMember [] members)
IDL 의 struct 를 나타내는 TypeCode 객체를 생성합니다. |
abstract TypeCode |
create_union_tc (String id,
String name,
TypeCode discriminator_type,
UnionMember [] members)
IDL 의 union 를 나타내는 TypeCode 객체를 생성합니다. |
TypeCode |
create_value_box_tc (String id,
String name,
TypeCode boxed_type)
IDL 치 박스의 TypeCode 객체를 생성합니다. |
TypeCode |
create_value_tc (String id,
String name,
short type_modifier,
TypeCode concrete_base,
ValueMember [] members)
IDL 치 형의 TypeCode 객체를 생성합니다. |
abstract TypeCode |
create_wstring_tc (int bound)
IDL 의 바운드 형식 wstring (와이드 캐릭터 라인)를 나타내는 TypeCode 객체를 생성합니다. |
void |
destroy ()
자원을 재사용할 수 있도록(듯이) ORB 를 파기합니다. |
void |
disconnect (Object obj)
지정된 서번트 객체를 ORB 로부터 떼어냅니다. |
Current |
get_current ()
추천 되고 있지 않습니다. resolve_initial_references 를 사용해 주세요. |
abstract Context |
get_default_context ()
디폴트의 Context 객체를 가져옵니다. |
abstract Request |
get_next_response ()
응답을 받아들인 다음의 Request 의 인스턴스를 가져옵니다. |
abstract TypeCode |
get_primitive_tc (TCKind tcKind)
지정된 프리미티브(primitive) IDL 형을 나타내는 TypeCode 객체를 꺼냅니다. |
boolean |
get_service_information (short service_type,
ServiceInformationHolder service_info)
이 ORB 가 지원하는 CORBA 의 기능과 서비스에 관한 정보의 취득에 사용됩니다. |
static ORB |
init ()
ORB 단체 객체를 돌려줍니다. |
static ORB |
init (Applet app,
Properties props)
애플릿용으로, 새로운 ORB 의 인스턴스를 생성합니다. |
static ORB |
init (String [] args,
Properties props)
스탠드얼론 어플리케이션용으로, 새로운 ORB 의 인스턴스를 생성합니다. |
abstract String [] |
list_initial_services ()
「네임 서비스」나 「인터페이스 리포지터리(repository)」 등, 사용 가능한 CORBA 초기 서비스의 객체 참조를 돌려줍니다. |
abstract String |
object_to_string (Object obj)
지정된 CORBA 객체 참조를 캐릭터 라인으로 변환합니다. |
void |
perform_work ()
메인 thread로부터 불려 가면(자), 구현에 의존하는 처리 단위를 실행합니다. |
abstract boolean |
poll_next_response ()
그대로 두어진 (비동기) 호출안에, 응답이 있던 것이 있을지 어떨지를 판정합니다. |
abstract Object |
resolve_initial_references (String object_name)
사용 가능한 일련의 초기 서비스명으로부터, 특정의 객체 참조를 해결합니다. |
void |
run ()
이 조작은, ORB 가 종료 프로세스를 완료할 때까지 현행의 thread를 블록 해, 어느 thread가 shutdown 를 호출하면(자) 기동합니다. |
abstract void |
send_multiple_requests_deferred (Request [] req)
복수의 동적 (DII) 요구를 비동기적으로 보냅니다. |
abstract void |
send_multiple_requests_oneway (Request [] req)
응답을 전제로 하지 못하고 , 복수의 동적 (DII) 요구를 비동기적으로 보냅니다. |
protected abstract void |
set_parameters (Applet app,
Properties props)
ORB 구현을, 지정된 파라미터와 프로퍼티으로 초기화합니다. |
protected abstract void |
set_parameters (String [] args,
Properties props)
ORB 구현을, 지정된 파라미터와 프로퍼티으로 초기화합니다. |
void |
shutdown (boolean wait_for_completion)
ORB 에 종료을 지시합니다. |
abstract Object |
string_to_object (String str)
object_to_string 메소드에 의해 생성된 캐릭터 라인을 변환해 CORBA 객체 참조에 되돌립니다. |
boolean |
work_pending ()
ORB 가 처리를 실행하기 위해서 메인 thread를 필요로 하는 경우는 true , 메인 thread를 필요로 하지 않는 경우는 false 를 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public ORB()
메소드의 상세 |
---|
public static ORB init()
ORB
단체 객체를 돌려줍니다. 이 메소드는 항상, 같은 ORB 의 인스턴스를 돌려줍니다. 이 인스턴스는,org.omg.CORBA.ORBSingletonClass
시스템 프로퍼티이 기술하는 클래스의 인스턴스입니다.
이 인수 없음의 형식의 init
메소드는 주로,TypeCode
객체의 팩토리로서 사용됩니다. Helper
클래스는 이 객체를 사용해,type
메소드를 구현합니다. 또,union
의 TypeCode
객체를 작성할 경우에,union
라벨을 기술하기 위해서 사용하는 Any
객체의 작성에도 사용됩니다.
이 메소드는 애플릿으로 사용하는 것은 의도되고 있지 않습니다. 따라서, 애플릿 환경에서 불려 갔을 경우, 반환되는 ORB 는 제약 첨부이며,TypeCode
객체의 팩토리로서 밖에 사용할 수 없습니다. 이 때문에, 이 메소드에 의해 작성되는 TypeCode
객체는 모두, 신뢰할 수 없는 애플릿간이라도 안전하게 공유할 수 있습니다.
애플릿으로부터 이 메소드를 사용해 ORB 를 작성하는 경우,TypeCode
객체의 작성 이외의 목적으로 이 메소드가 불려 가면(자), 시스템 예외가 throw 됩니다.
public static ORB init(String [] args, Properties props)
ORB
의 인스턴스를 생성합니다. 이 메소드를 호출할 수 있는 것은 어플리케이션만입니다. 이 메소드는, 불려 갈 때마다 새로운 풀 기능의 ORB
객체를 돌려줍니다.
args
- 어플리케이션의 main
메소드의 커멘드행
인수. null
도 가능props
- 어플리케이션 고유의 프로퍼티. null
도 가능
public static ORB init(Applet app, Properties props)
ORB
의 인스턴스를 생성합니다. 이 메소드를 호출할 수 있는 것은 애플릿만입니다. 이 메소드는, 불려 갈 때마다 새로운 풀 기능의 ORB
객체를 돌려줍니다.
app
- 애플릿. null
도 가능props
- 애플릿 고유의 프로퍼티. null
도 가능
protected abstract void set_parameters(String [] args, Properties props)
init
메소드로 불려 가면(자), 파라미터를 건네줍니다.
args
- 어플리케이션의 main
메소드의 커멘드행
인수. null
도 가능props
- 어플리케이션 고유의 프로퍼티. null
도 가능protected abstract void set_parameters(Applet app, Properties props)
init
메소드로 불려 가면(자), 파라미터를 건네줍니다.
app
- 애플릿. null
도 가능props
- 애플릿 고유의 프로퍼티. null
도 가능public void connect(Object obj)
ImplBase
클래스를 확장할 필요가 있습니다. 이 때문에, 서번트는 CORBA 객체 참조이며,org.omg.CORBA.Object
로부터 상속할 필요가 있습니다. 사용자가 작성한 서번트는,connect
메소드의 호출 후에, 원격 호출을 받을 수가 있게 됩니다. 로컬이 아닌 객체의 IDL 메소드 호출로 IDL 의 파라미터로서 서번트가 건네받았을 경우, 즉 서번트 객체를 정렬화해, 프로세스 address 공간의 범위외에 보낼 필요가 있는 경우는, 서번트를 자동적이고 암묵적으로 ORB 에 접속할 수도 있습니다.
서번트 객체가 벌써 ORB 에 접속되고 있을 때는,connect
메소드를 호출해도 아무것도 변화는 없습니다.
Portable Object Adapter API 를 우선하므로, OMG 에서는 추천 되지 않습니다.
obj
- 서번트 객체 참조public void destroy()
OBJECT_NOT_EXIST
예외가 throw 됩니다. ORB 가 파기된 뒤, 같은 ORBid 를 사용해 init
를 호출하면(자) 새롭게 구축된 ORB 에의 참조가 돌려주어집니다.
종료되어 있지 않은 ORB 로 destroy
가 불려 가면(자), 종료 프로세스가 기동해, ORB 가 종료 할 때까지 블록 하고 나서, ORB 를 파기합니다.
현재 호출을 처리하고 있는 thread로 어플리케이션이 destroy
를 호출하면(자), 블록에 의해 데드락이 되기 (위해)때문에, OMG 마이너 코드 3 으로 BAD_INV_ORDER
시스템 예외가 throw 됩니다.
최대한의 이식성을 확보해, 자원 리크를 막기 위해, 어플리케이션은 종료전에 모든 ORB 인스턴스로 shutdown
와 destroy
를 반드시 호출할 필요가 있습니다.
BAD_INV_ORDER
- 현재의 thread가 호출을 처리하고 있는 경우public void disconnect(Object obj)
org.omg.CORBA.OBJECT_NOT_EXIST
예외를 원격 클라이언트에 돌려줍니다. 이 때문에, 원격 클라이언트로부터는, 객체가 파기된 것처럼 보입니다. 다만, 서번트를 직접 사용해 발행된 로컬 요구는 ORB 를 개입시켜 건네받을 것은 없습니다. 이 때문에, 서번트에 의한 처리가 계속됩니다.
서번트가 ORB 에 접속되어 있지 않은 경우는,disconnect
메소드를 호출해도 아무것도 변화는 없습니다.
Portable Object Adapter API 를 우선하므로, OMG 에서는 추천 되지 않습니다.
obj
- ORB 로부터 떼어내지는 서번트 객체public abstract String [] list_initial_services()
String
객체의 배열public abstract Object resolve_initial_references(String object_name) throws InvalidName
object_name
- 캐릭터 라인으로서의 초기 서비스명
InvalidName
- 지정된 이름이 정의 끝난 서비스에
관련하고 있지 않는 경우public abstract String object_to_string(Object obj)
결과의 String
객체는,String
객체를 조작 가능한 방법으로 포함 또는 통신할 수 있습니다.
obj
- 캐릭터 라인에 변환되는 객체 참조
public abstract Object string_to_object(String str)
object_to_string
메소드에 의해 생성된 캐릭터 라인을 변환해 CORBA 객체 참조에 되돌립니다.
str
- 변환되어 객체 참조에 되돌려지는 캐릭터 라인. object_to_string
메소드를 사용해 객체 참조를 캐릭터 라인에
변환한 결과가 아니면 안된다
- 반환값:
- 객체 참조
public abstract NVList create_list(int count)
NamedValue
객체에 있어 (아마) 충분한 공간을 NVList
에 할당합니다. 지정된 사이즈는 기억역할당을 위한 단순한 힌트이며, 리스트의 최대 사이즈를 의미하지 않습니다.
count
- 공간을 할당하는 NamedValue
객체의 추천수
NVList
NVList
public NVList create_operation_list(Object oper)
OperationDef
객체로 기술되는 조작의 인수 기술로 초기화된,NVList
를 생성합니다. 이 OperationDef
객체는, 인터페이스 리포지터리(repository)로부터 취득됩니다. 반환된 NVList
객체내의 인수는, 원의 IDL 의 조작 정의와 같은 순서가 됩니다. 이 때문에, 이 리스트를 동적으로 호출하는 요구로 사용할 수 있습니다.
oper
- 리스트 작성에 사용되는 OperationDef
객체
OperationDef
객체로 기술되는 메소드의
인수 기술을 포함하고 있는, 새롭게 생성되었다
NVList
객체NVList
public abstract NamedValue create_named_value(String s, Any any, int flags)
NamedValue
객체를 생성합니다.
NamedValue
객체는, (1) 파라미터나 반환값, 또는 (2) 문맥 프로퍼티으로서 기능합니다. NamedValue
객체 자체로 사용하는 일도,NVList
객체내의 요소로서 사용할 수도 있습니다.
s
- NamedValue
객체의 이름any
- NamedValue
객체에 삽입된다
Any
치flags
- NamedValue
의 인수 모드 플래그. 다음의 어떤 것인가
ARG_IN.value
,ARG_OUT.value
,
또는 ARG_INOUT.value
- 반환값:
- 새롭게 생성된
NamedValue
객체 - 관련 항목:
NamedValue
public abstract ExceptionList create_exception_list()
ExceptionList
객체를 생성합니다.
ExceptionList
객체public abstract ContextList create_context_list()
ContextList
객체를 생성합니다.
ContextList
객체ContextList
,
Context
public abstract Context get_default_context()
Context
객체를 가져옵니다.
Context
객체Context
public abstract Environment create_environment()
Environment
객체를 생성합니다.
Environment
객체Environment
public abstract OutputStream create_output_stream()
org.omg.CORBA.portable.OutputStream
객체를 생성합니다. 메소드 호출시에, 이 객체의 내부에서 IDL 의 메소드의 파라미터를 정렬화할 수 있습니다.
org.omg.CORBA.portable.OutputStream
객체public abstract void send_multiple_requests_oneway(Request [] req)
req
- 요구 객체의 배열public abstract void send_multiple_requests_deferred(Request [] req)
req
- Request
객체의 배열public abstract boolean poll_next_response()
true
,
그렇지 않은 경우는 false
public abstract Request get_next_response() throws WrongTransaction
Request
의 인스턴스를 가져옵니다.
Request
객체
WrongTransaction
- 원의 요구의 송신원과는 다르다
트랜잭션(transaction) 스코프로부터 get_next_response
메소드가 불려 갔을 경우. 자세한 것은,
「OMG Transaction Service 스펙」을 참조public abstract TypeCode get_primitive_tc(TCKind tcKind)
TypeCode
객체를 꺼냅니다.
tcKind
- 원시형에 대응하는 TCKind
의 인스턴스
TypeCode
객체public abstract TypeCode create_struct_tc(String id, String name, StructMember [] members)
struct
를 나타내는 TypeCode
객체를 생성합니다. TypeCode 객체는, 지정된 ID, 이름, 멤버로 초기화됩니다.
id
- struct
의 리포지터리(repository) IDname
- struct
의 이름members
- struct
의 멤버를 기술하는 배열
struct
를 기술하는 새롭게 생성되었다
TypeCode
객체public abstract TypeCode create_union_tc(String id, String name, TypeCode discriminator_type, UnionMember [] members)
union
를 나타내는 TypeCode
객체를 생성합니다. TypeCode 객체는, 지정된 ID, 이름, 판별자의 형태, 멤버로 초기화됩니다.
id
- union
의 리포지터리(repository) IDname
- union
의 이름discriminator_type
- union
판별자의 형태members
- union
의 멤버를 기술하는 배열
union
를 기술하는 새롭게 생성되었다
TypeCode
객체public abstract TypeCode create_enum_tc(String id, String name, String [] members)
enum
를 나타내는 TypeCode
객체를 생성합니다. TypeCode 객체는, 지정된 ID, 이름, 멤버로 초기화됩니다.
id
- enum
의 리포지터리(repository) IDname
- enum
의 이름members
- enum
의 멤버를 기술하는 배열
enum
를 기술하는 새롭게 생성되었다
TypeCode
객체public abstract TypeCode create_alias_tc(String id, String name, TypeCode original_type)
alias
(typedef
)를 나타내는 TypeCode
객체를 생성합니다. TypeCode 객체는, 지정된 ID, 이름, 원의 형태로 초기화됩니다.
id
- alias 의 리포지터리(repository) IDname
- alias 의 이름original_type
- alias 인 원의 형태를 기술한다
TypeCode
객체
alias
를 기술하는 새롭게 생성되었다
TypeCode
객체public abstract TypeCode create_exception_tc(String id, String name, StructMember [] members)
exception
를 나타내는 TypeCode
객체를 생성합니다. TypeCode 객체는, 지정된 ID, 이름, 멤버로 초기화됩니다.
id
- exception
의 리포지터리(repository) IDname
- exception
의 이름members
- exception
의 멤버를 기술하는 배열
exception
를 기술하는 새롭게 생성되었다
TypeCode
객체public abstract TypeCode create_interface_tc(String id, String name)
interface
를 나타내는 TypeCode
객체를 생성합니다. TypeCode 객체는, 지정된 ID 와 이름으로 초기화됩니다.
id
- interface 의 리포지터리(repository) IDname
- interface 의 이름
interface
를 기술하는 새롭게 생성되었다
TypeCode
객체public abstract TypeCode create_string_tc(int bound)
string
를 나타내는 TypeCode
객체를 생성합니다. TypeCode 객체는, 지정된 바운드로 초기화됩니다. 이 바운드는, 캐릭터 라인의 최대 길이을 나타냅니다. 제로는, 이 형태 코드로 기술되는 캐릭터 라인이 안 바운드 형식인 것을 나타냅니다.
bound
- string
의 바운드. 0 보다 작은 값은 불가
string
를 기술하는 새롭게 생성되었다
TypeCode
객체
BAD_PARAM
- 바운드가 0 보다 작은 값의 경우public abstract TypeCode create_wstring_tc(int bound)
wstring
(와이드 캐릭터 라인)를 나타내는 TypeCode
객체를 생성합니다. TypeCode 객체는, 지정된 바운드로 초기화됩니다. 이 바운드는, 와이드 캐릭터 라인의 최대 길이을 나타냅니다. 제로는, 이 형태 코드로 기술되는 캐릭터 라인이 안 바운드 형식인 것을 나타냅니다.
bound
- wstring
의 바운드. 0 보다 작은 값은 불가
wstring
를 기술하는 새롭게 생성되었다
TypeCode
객체
BAD_PARAM
- 바운드가 0 보다 작은 값의 경우public abstract TypeCode create_sequence_tc(int bound, TypeCode element_type)
sequence
를 나타내는 TypeCode
객체를 생성합니다. TypeCode 객체는, 지정된 바운드와 요소형으로 초기화됩니다.
bound
- sequence
의 바운드. 안 바운드의 경우는 0element_type
- sequence
에 포함되고 있는 요소를 기술한다
TypeCode
객체
sequence
를 기술하는 새롭게 생성되었다
TypeCode
객체@Deprecated public abstract TypeCode create_recursive_sequence_tc(int bound, int offset)
sequence
를 나타내는 TypeCode
객체를 생성합니다.
다음의 코드에 나타내는 IDL 의 struct
Node 에서는, 순서를 작성하는 오프셋(offset) 파라미터는 1 이 됩니다.
Struct Node { long value; Sequence <Node> subnodes; };
bound
- 순서의 바운드. 안 바운드의 경우는 0offset
- 이 순서의 요소를 기술하는, 포위 TypeCode
객체의 인덱스
TypeCode
객체create_recursive_tc
,
create_sequence_tc
public abstract TypeCode create_array_tc(int length, TypeCode element_type)
array
를 나타내는 TypeCode
객체를 생성합니다. TypeCode 객체는, 지정된 길이와 요소형으로 초기화됩니다.
length
- array
의 길이element_type
- array
에 포함되고 있는 요소의 형태를
기술하는 TypeCode
객체
array
를 기술하는 새롭게 생성되었다
TypeCode
객체public TypeCode create_native_tc(String id, String name)
TypeCode
객체를 생성합니다.
id
- 네이티브형의 논리 IDname
- 네이티브형의 이름
public TypeCode create_abstract_interface_tc(String id, String name)
TypeCode
객체를 생성합니다.
id
- 추상 인터페이스형의 논리 IDname
- 추상 인터페이스형의 이름
public TypeCode create_fixed_tc(short digits, short scale)
TypeCode
객체를 생성합니다.
digits
- 10 진수의 합계수를 숫자로 지정.
1 에서 31 까지의 논리합일 필요가 있는scale
- 소수점의 위치
public TypeCode create_value_tc(String id, String name, short type_modifier, TypeCode concrete_base, ValueMember [] members)
TypeCode
객체를 생성합니다. concrete_base 파라미터는, TypeCode 가 생성되는 value 형의 즉시 구상 기저 value 형에 대한 TypeCode 입니다. value 형에 구상 기저가 없는 경우는, null 로 할 수도 있습니다.
id
- 치 형의 논리 IDname
- 치 형의 이름type_modifier
- 치 형수식자 정수.
VM_NONE, VM_CUSTOM, VM_ABSTRACT, 또는 VM_TRUNCATABLE 가운데 1 개concrete_base
- 구상 기저 value 형을 기술한다
TypeCode
객체members
- 치 형의 멤버를 포함하는 배열
public TypeCode create_recursive_tc(String id)
TypeCode
를 생성합니다. id 파라미터에 의해, 재귀 TypeCode 가 플레이스홀더로서 기능하는 형태의 리포지터리(repository) ID 가 지정됩니다. 지정한 리포지터리(repository) ID 에 대응하는, 포위 TypeCode 에 재귀 TypeCode 가 올바르게 파묻히면(자), 표준의 TypeCode 로서 기능합니다. 포위 TypeCode 에 파묻히기 전에 재귀 TypeCode 로 조작을 호출하면(자),BAD_TYPECODE
예외가 발생합니다.
예를 들어, 다음의 IDL 형 선언에는 재귀가 포함됩니다.
Struct Node { Sequence <Node> subnodes; };
구조체 Node 에 TypeCode 를 생성하려면 , 다음에 나타내도록(듯이) TypeCode 생성 오퍼레이션을 호출합니다.
String nodeID = "IDL:Node:1. 0"; TypeCode recursiveSeqTC = orb.create_sequence_tc(0, orb.create_recursive_tc(nodeID)); StructMember[] members = { new StructMember("subnodes", recursiveSeqTC, null) }; TypeCode structNodeTC = orb.create_struct_tc(nodeID, "Node", members);
다음은, 부정한 IDL 형 선언입니다.
Struct Node { Node next; };
재귀형은, 빈 상태(empty)도 가능한 순서내에서만 사용할 수 있습니다. 이것에 의해 Any 로 구조체를 전송 하는 경우와 같은, 정렬화의 문제가 회피됩니다.
id
- 참조형의 논리 ID
public TypeCode create_value_box_tc(String id, String name, TypeCode boxed_type)
TypeCode
객체를 생성합니다.
id
- 치 형의 논리 IDname
- 치 형의 이름boxed_type
- 형의 TypeCode
public abstract Any create_any()
kind
필드가 TCKind.tc_null
로 설정된 TypeCode
객체를 포함하도록(듯이) 초기화된, IDL 의 Any
객체를 생성합니다.
Any
객체@Deprecated public Current get_current()
resolve_initial_references
를 사용해 주세요.
Current
객체를 꺼냅니다. Current
인터페이스는, 트랜잭션(transaction)나 시큐리티등의 서비스로 사용하는 thread 고유의 정보를 관리하기 위해서 사용합니다.
Current
객체CORBA
패키지에 구현되어 있지 않은 기능에 대한 코멘트 public void run()
shutdown
를 호출하면(자) 기동합니다. 이것은, ORB 의 종료시에 통지를 받는 복수의 thread로 사용할 수 있습니다.
public void shutdown(boolean wait_for_completion)
wait_for_completion
파라미터가 true 의 경우, 이 조작은 모든 ORB 처리 (현재 실행중의 요구, 객체의 비액티브화, 그 외의 객체 어댑터의 조작등)가 완료할 때까지 블록 됩니다. 어플리케이션이 현재 호출을 처리하고 있는 thread로 이것을 실행했을 경우, 블록에 의해 데드락이 되므로, OMG 마이너 코드 3 으로 BAD_INV_ORDER
시스템 예외가 throw 됩니다. wait_for_completion
파라미터가 FALSE
의 경우, 복귀시에 종료이 완료하고 있지 않는 경우가 있습니다.
ORB 가 종료의 처리 그 중에서, ORB 는 일반적으로 대로에 동작해, 모든 요구가 완료할 때까지 수신 및 송신 요구를 처리합니다. ORB 가 종료 하면(자), 객체 참조 관리 조작만이 ORB 또는 그리고 취득되는 임의의 객체 참조로 호출할 수가 있습니다. 어플리케이션은, ORB 자체에 대해서 destroy
조작을 호출할 수도 있습니다. 그 외의 조작을 호출하면(자), OMG 마이너 코드 4 로 BAD_INV_ORDER
시스템 예외가 throw 됩니다.
shutdown
가 불려 간 다음에,ORB.run
메소드가 복귀합니다.
wait_for_completion
- 종료이 완료할 때까지
호출을 블록 하는 경우는 true
,
즉시 복귀하는 경우는 false
BAD_INV_ORDER
- 현재의 thread가 호출을
처리하고 있는 경우public boolean work_pending()
true
, 메인 thread를 필요로 하지 않는 경우는 false
를 돌려줍니다.
true
,
작업 대기가 없고, 메인 thread를 필요로 하지 않는 경우는
false
public void perform_work()
work_pending
메소드와 perform_work
메소드를 제휴해 사용하면(자), ORB 와 다른 액티버티의 사이에 메인 thread를 다중화하는 단순한 폴링 루프를 구현할 수 있습니다.
public boolean get_service_information(short service_type, ServiceInformationHolder service_info)
service_type
- 요구하는 정보의 서비스 타입을
가리키는 short
service_info
- 이 메소드로 생성된 ServiceInformation
객체를 보관 유지하는 ServiceInformationHolder
객체
true
,
요구된 서비스 타입의 정보가
없는 경우는 falseCORBA
패키지에 구현되어 있지 않은 기능에 대한 코멘트 @Deprecated public DynAny create_dyn_any(Any value)
Any
객체로부터 DynAny
객체를 새롭게 생성합니다.
value
- 신규 DynAny
객체의 생성원의
Any
객체
Any
객체로부터 생성된 신규
DynAny
객체CORBA
패키지에 구현되어 있지 않은 기능에 대한 코멘트 @Deprecated public DynAny create_basic_dyn_any(TypeCode type) throws InconsistentTypeCode
TypeCode
객체로부터 기본 DynAny
객체를 생성합니다.
type
- 신규 DynAny
객체의 생성원의
TypeCode
객체
TypeCode
객체로부터 생성된 신규
DynAny
객체
InconsistentTypeCode
- 지정했다
TypeCode
객체가, 오퍼레이션과의 일관성을 보관 유지하지 않는 경우CORBA
패키지에 구현되어 있지 않은 기능에 대한 코멘트 @Deprecated public DynStruct create_dyn_struct(TypeCode type) throws InconsistentTypeCode
TypeCode
객체로부터 DynStruct
객체를 새롭게 생성합니다.
type
- 신규 DynStruct
객체의 생성원의
TypeCode
객체
TypeCode
객체로부터 생성된 신규
DynStruct
객체
InconsistentTypeCode
- 지정했다
TypeCode
객체가, 오퍼레이션과의 일관성을 보관 유지하지 않는 경우CORBA
패키지에 구현되어 있지 않은 기능에 대한 코멘트 @Deprecated public DynSequence create_dyn_sequence(TypeCode type) throws InconsistentTypeCode
TypeCode
객체로부터 DynSequence
객체를 새롭게 생성합니다.
type
- 신규 DynStruct
객체의 생성원의
TypeCode
객체
TypeCode
객체로부터 생성된 신규
DynSequence
객체
InconsistentTypeCode
- 지정했다
TypeCode
객체가, 오퍼레이션과의 일관성을 보관 유지하지 않는 경우CORBA
패키지에 구현되어 있지 않은 기능에 대한 코멘트 @Deprecated public DynArray create_dyn_array(TypeCode type) throws InconsistentTypeCode
TypeCode
객체로부터 DynArray
객체를 새롭게 생성합니다.
type
- 신규 DynArray
객체의 생성원의
TypeCode
객체
TypeCode
객체로부터 생성된 신규
DynArray
객체
InconsistentTypeCode
- 지정했다
TypeCode
객체가, 오퍼레이션과의 일관성을 보관 유지하지 않는 경우CORBA
패키지에 구현되어 있지 않은 기능에 대한 코멘트 @Deprecated public DynUnion create_dyn_union(TypeCode type) throws InconsistentTypeCode
TypeCode
객체로부터 DynUnion
객체를 새롭게 생성합니다.
type
- 신규 DynUnion
객체의 생성원의
TypeCode
객체
TypeCode
객체로부터 생성된 신규
DynUnion
객체
InconsistentTypeCode
- 지정했다
TypeCode
객체가, 오퍼레이션과의 일관성을 보관 유지하지 않는 경우CORBA
패키지에 구현되어 있지 않은 기능에 대한 코멘트 @Deprecated public DynEnum create_dyn_enum(TypeCode type) throws InconsistentTypeCode
TypeCode
객체로부터 DynEnum
객체를 새롭게 생성합니다.
type
- 신규 DynEnum
객체의 생성원의
TypeCode
객체
TypeCode
객체로부터 생성된 신규
DynEnum
객체
InconsistentTypeCode
- 지정했다
TypeCode
객체가, 오퍼레이션과의 일관성을 보관 유지하지 않는 경우CORBA
패키지에 구현되어 있지 않은 기능에 대한 코멘트 public Policy create_policy(int type, Any val) throws PolicyError
type
- 생성하는 정책 객체의
PolicyTypeval
- 생성하는 Policy 객체의
초기 상태 설정에 사용되는 값
org.omg.CORBA.PolicyError
- 요구된 정책가
지원되지 않는가, 정책의 요구되었다
초기 상태가 지원되지 않는 경우
PolicyError
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.