JavaTM 2 Platform
Std. Ed. v1.3

org.omg.CORBA
クラス ORB

java.lang.Object
  |
  +--org.omg.CORBA.ORB
直系の既知のサブクラス:
ORB

public abstract class ORB
extends Object

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 で内部的に使用されるため、一般のプログラマが見ることはありません。

  1. 定義済みのプロパティと環境パラメータの値を指定して ORB 実装を初期化する
  2. resolve_initial_references メソッドを使って、ネームサービスなどのサービスへの初期オブジェクト参照を取得する
  3. オブジェクト参照と文字列の間の変換を行う
  4. ORB とサーバント (CORBA オブジェクト実装のインスタンス) 間での接続の確立と切り離しを行う
  5. 次のようなオブジェクトを生成する
  6. DII の複数のメッセージを送信する

ORB クラスを使うと、オブジェクトがネットワーク上のどこに実装されていても、その参照を取得できます。

アプリケーションやアプレットは、3 つの init メソッドの 1 つを使ってそれ自体を ORB に対して初期化することにより、CORBA 環境へのアクセスを取得します。3 つのメソッドのうち 2 つは、次の表に記載されているプロパティ (名前と値との関連付け) を使用します。
プロパティ名 プロパティ値
標準 Java CORBA プロパティ:
org.omg.CORBA.ORBClass ORB 実装のクラス名
org.omg.CORBA.ORBSingletonClass init() が返す ORB のクラス名

これらのプロパティにより、さまざまなベンダーの ORB 実装がプラグイン可能になります。

ORB インスタンスの生成時には、ORB 実装のクラス名が次の標準検索順で検索されます。

  1. Applet パラメータまたはアプリケーション文字列配列があればチェックインする
  2. プロパティパラメータがあればチェックインする
  3. System プロパティにチェックインする
  4. java.home/lib ディレクトリにある orb.properties ファイルにチェックインする
  5. ハードコードされたデフォルト動作に戻る (Java IDL 実装を使用する)

Java IDL はフル機能の ORB と単体 ORB に対してデフォルト実装を提供します。init メソッドにパラメータを指定しなかった場合は、デフォルトの単体 ORB が返されます。init メソッドにパラメータを指定した場合、ORB クラスを指定しなかったときは、Java IDL ORB 実装が返されます。

次に、デフォルトの単体 ORB で初期化される ORB オブジェクトを作成するコードを示します。悪意のあるアプレットがタイプコードの作成以外の操作をできないように、この ORB の実装は制限付きです。この実装は、Virtual Machine 全体でインスタンスが 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 の世界に対するブートストラップ呼び出しです。

導入されたバージョン:
JDK1.2

コンストラクタの概要
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)
          実装されていない機能については、パッケージコメントを参照してください。
abstract  ContextList create_context_list()
          空の ContextList オブジェクトを生成します。
 DynAny create_dyn_any(Any value)
          実装されていない機能については、パッケージコメントを参照してください。
 DynArray create_dyn_array(TypeCode type)
          実装されていない機能については、パッケージコメントを参照してください。
 DynEnum create_dyn_enum(TypeCode type)
          実装されていない機能については、パッケージコメントを参照してください。
 DynSequence create_dyn_sequence(TypeCode type)
          実装されていない機能については、パッケージコメントを参照してください。
 DynStruct create_dyn_struct(TypeCode type)
          実装されていない機能については、パッケージコメントを参照してください。
 DynUnion create_dyn_union(TypeCode type)
          実装されていない機能については、パッケージコメントを参照してください。
abstract  TypeCode create_enum_tc(String id, String name, String[] members)
          IDL の enum を表す TypeCode オブジェクトを生成します。
abstract  Environment create_environment()
          Environment オブジェクトを生成します。
abstract  ExceptionList create_exception_list()
          空の 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)
          推奨されていません。  
 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 インスタンスを破棄し、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)
          指定されたプリミティブ IDL 型を表す TypeCode オブジェクトを取り出します。
 boolean get_service_information(short service_type, ServiceInformationHolder service_info)
          実装されていない機能については、パッケージコメントを参照してください。
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()
          「ネームサービス」や「インタフェースリポジトリ」など、使用可能な CORBA 初期サービスのオブジェクト参照を返します。
abstract  String object_to_string(Object obj)
          指定された CORBA オブジェクト参照を文字列に変換します。
 void perform_work()
          メインスレッドから呼び出されると、実装に依存する処理単位を実行します。
abstract  boolean poll_next_response()
          据え置かれた (非同期) 呼び出しの中に、応答のあったものがあるかどうかを判定します。
abstract  Object resolve_initial_references(String object_name)
          使用可能な一連の初期サービス名から、特定のオブジェクト参照を解決します。
 void run()
          この操作は、ORB が停止したときに復帰します。
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 が処理を実行するためにメインスレッドを必要とする場合は true、メインスレッドを必要としない場合は false を返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ORB

public ORB()
メソッドの詳細

init

public static ORB init()
ORB 単体オブジェクトを返します。このメソッドは常に、同じ ORB のインスタンスを返します。このインスタンスは、org.omg.CORBA.ORBSingletonClass システムプロパティが記述するクラスのインスタンスです。

この引数なしの形式の init メソッドは主に、TypeCode オブジェクトのファクトリとして使用されます。Helper クラスはこのオブジェクトを使って、type メソッドを実装します。また、unionTypeCode オブジェクトを作成するときに、union ラベルを記述するために使う Any オブジェクトの作成にも使用されます。

このメソッドはアプレットで使うことは意図されていません。したがって、アプレット環境で呼び出された場合、返される ORB は制約付きであり、TypeCode オブジェクトのファクトリとしてしか使用できません。このため、このメソッドにより作成される TypeCode オブジェクトはすべて、信頼できないアプレット間でも安全に共有できます。

アプレットからこのメソッドを使って ORB を作成する場合、TypeCode オブジェクトの作成以外の目的でこのメソッドが呼び出されると、システム例外がスローされます。

戻り値:
単独 ORB

init

public static ORB init(String[] args,
                       Properties props)
スタンドアロンアプリケーション用に、新しい ORB のインスタンスを生成します。このメソッドを呼び出せるのはアプリケーションだけです。このメソッドは、呼び出されるたびに新しいフル機能の ORB オブジェクトを返します。
パラメータ:
args - アプリケーションの main メソッドのコマンド行引数。null も可
props - アプリケーション固有のプロパティ。null も可
戻り値:
新しく生成された ORB のインスタンス

init

public static ORB init(Applet app,
                       Properties props)
アプレット用に、新しい ORB のインスタンスを生成します。このメソッドを呼び出せるのはアプレットだけです。このメソッドは、呼び出されるたびに新しいフル機能の ORB オブジェクトを返します。
パラメータ:
app - アプレット。null も可
props - アプレット固有のプロパティ。null も可
戻り値:
新しく生成された ORB のインスタンス

set_parameters

protected abstract void set_parameters(String[] args,
                                       Properties props)
ORB 実装を、指定されたパラメータとプロパティで初期化します。このメソッドはアプリケーション専用です。このメソッドは、サブクラス ORB 実装によって実装され、適切な init メソッドで呼び出されると、パラメータを渡します。
パラメータ:
args - アプリケーションの main メソッドのコマンド行引数。null も可
props - アプリケーション固有のプロパティ。null も可

set_parameters

protected abstract void set_parameters(Applet app,
                                       Properties props)
ORB 実装を、指定されたパラメータとプロパティで初期化します。このメソッドはアプレット専用です。このメソッドは、サブクラス ORB 実装によって実装し、適切な init メソッドで呼び出されると、パラメータを渡します。
パラメータ:
app - アプレット。null も可
props - アプレット固有のプロパティ。null も可

connect

public void connect(Object obj)
指定されたサーバントオブジェクト (サーバ実装クラスのインスタンスである Java オブジェクト) を ORB に接続します。サーバントクラスは、サーバがサポートするインタフェースに対応する ImplBase クラスを拡張する必要があります。このため、サーバントは CORBA オブジェクト参照であって、org.omg.CORBA.Object から継承する必要があります。ユーザが作成したサーバントは、connect メソッドの呼び出し後に、リモート呼び出しを受け取ることができるようになります。ローカルでないオブジェクトの IDL メソッド呼び出しで IDL のパラメータとしてサーバントが渡された場合、つまりサーバントオブジェクトを整列化し、プロセスアドレス空間の範囲外に送る必要がある場合は、サーバントを自動的かつ暗黙的に ORB に接続することもできます。

サーバントオブジェクトがすでに ORB に接続されているときは、connect メソッドを呼び出しても何も変化はありません。

Portable Object Adapter API を優先するので、OMG では推奨されません。

パラメータ:
obj - サーバントオブジェクト参照
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

destroy

public void destroy()
ORB インスタンスを破棄し、ORB インスタンスのリソースをすべて解放します。メソッドは実装されません。OMG 仕様に準拠する API が提供されます。

disconnect

public void disconnect(Object obj)
指定されたサーバントオブジェクトを ORB から切り離します。このメソッドが復帰すると、ORB は切り離されたサーバントからの着信リモート要求を拒否し、org.omg.CORBA.OBJECT_NOT_EXIST 例外をリモートクライアントに返します。このため、リモートクライアントからは、オブジェクトが破棄されたように見えます。ただし、サーバントを直接使って発行されたローカル要求は ORB を介して渡されることはありません。このため、サーバントによる処理が継続されます。

サーバントが ORB に接続されていない場合は、disconnect メソッドを呼び出しても何も変化はありません。

Portable Object Adapter API を優先するので、OMG では推奨されません。

パラメータ:
obj - ORB から切り離されるサーバントオブジェクト
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

list_initial_services

public abstract String[] list_initial_services()
「ネームサービス」や「インタフェースリポジトリ」など、使用可能な CORBA 初期サービスのオブジェクト参照を返します。
戻り値:
この ORB で使用可能な CORBA 初期サービスのオブジェクト参照を表す String オブジェクトの配列

resolve_initial_references

public abstract Object resolve_initial_references(String object_name)
                                           throws InvalidName
使用可能な一連の初期サービス名から、特定のオブジェクト参照を解決します。
パラメータ:
object_name - 文字列としての初期サービス名
戻り値:
指定された名前に関連しているオブジェクト参照
例外:
InvalidName - 指定された名前が定義済みのサービスに関連していない場合

object_to_string

public abstract String object_to_string(Object obj)
指定された CORBA オブジェクト参照を文字列に変換します。この文字列の形式は IIOP であらかじめ定義されているので、異なる ORB で生成された文字列を変換してオブジェクト参照に戻すことができます。

結果の String オブジェクトは、String オブジェクトを操作可能な方法で格納または通信できます。

パラメータ:
obj - 文字列に変換されるオブジェクト参照
戻り値:
オブジェクト参照を表す文字列

string_to_object

public abstract Object string_to_object(String str)
object_to_string メソッドにより生成された文字列を変換して CORBA オブジェクト参照に戻します。
パラメータ:
str - 変換されてオブジェクト参照に戻される文字列。object_to_string メソッドを使ってオブジェクト参照を文字列に変換した結果でなければならない
戻り値:
オブジェクト参照

create_list

public abstract NVList create_list(int count)
指定数の NamedValue オブジェクトにとって (おそらく) 十分な空間を NVList に割り当てます。指定されたサイズは記憶域割り当てのための単なるヒントであり、リストの最大サイズを意味しません。
パラメータ:
count - 空間を割り当てる NamedValue オブジェクトの推奨数
戻り値:
新しく生成された NVList
関連項目:
NVList

create_operation_list

public NVList create_operation_list(Object oper)
指定された OperationDef オブジェクトで記述される操作の引数記述で初期化された、NVList を生成します。この OperationDef オブジェクトは、インタフェースリポジトリから取得されます。返された NVList オブジェクト内の引数は、元の IDL の操作定義と同じ順序になります。このため、このリストを動的に呼び出す要求で使用できます。
パラメータ:
oper - リスト作成に使われる OperationDef オブジェクト
戻り値:
指定された OperationDef オブジェクトで記述されるメソッドの引数記述を格納している、新しく生成された NVList オブジェクト
関連項目:
NVList

create_named_value

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.valueARG_OUT.valueARG_INOUT.value のうちの 1 つ
戻り値:
新しく生成された NamedValue オブジェクト
関連項目:
NamedValue

create_exception_list

public abstract ExceptionList create_exception_list()
空の ExceptionList オブジェクトを生成します。
戻り値:
新しく生成された ExceptionList オブジェクト

create_context_list

public abstract ContextList create_context_list()
空の ContextList オブジェクトを生成します。
戻り値:
新しく生成された ContextList オブジェクト
関連項目:
ContextList, Context

get_default_context

public abstract Context get_default_context()
デフォルトの Context オブジェクトを取得します。
戻り値:
デフォルトの Context オブジェクト
関連項目:
Context

create_environment

public abstract Environment create_environment()
Environment オブジェクトを生成します。
戻り値:
新しく生成された Environment オブジェクト
関連項目:
Environment

create_output_stream

public abstract OutputStream create_output_stream()
新しい org.omg.CORBA.portable.OutputStream オブジェクトを生成します。メソッド呼び出し時に、このオブジェクトの内部で IDL のメソッドのパラメータを整列化できます。
戻り値:
新しく生成された org.omg.CORBA.portable.OutputStream オブジェクト

send_multiple_requests_oneway

public abstract void send_multiple_requests_oneway(Request[] req)
応答を前提とせずに、複数の動的 (DII) 要求を非同期的に送ります。一方向呼び出しは、サーバに到達することが保証されないことに注意してください。
パラメータ:
req - 要求オブジェクトの配列

send_multiple_requests_deferred

public abstract void send_multiple_requests_deferred(Request[] req)
複数の動的 (DII) 要求を非同期的に送ります。
パラメータ:
req - Request オブジェクトの配列

poll_next_response

public abstract boolean poll_next_response()
据え置かれた (非同期) 呼び出しの中に、応答のあったものがあるかどうかを判定します。
戻り値:
応答があった場合は true、そうでない場合は false

get_next_response

public abstract Request get_next_response()
                                   throws WrongTransaction
応答を受け取った次の Request のインスタンスを取得します。
戻り値:
応答の準備ができている次の Request オブジェクト
例外:
WrongTransaction - 元の要求の送信元とは異なるトランザクションスコープから get_next_response メソッドが呼び出された場合。詳細は、「OMG Transaction Service 仕様」を参照

get_primitive_tc

public abstract TypeCode get_primitive_tc(TCKind tcKind)
指定されたプリミティブ IDL 型を表す TypeCode オブジェクトを取り出します。
パラメータ:
tcKind - プリミティブ型に対応する TCKind のインスタンス
戻り値:
要求された TypeCode オブジェクト

create_struct_tc

public abstract TypeCode create_struct_tc(String id,
                                          String name,
                                          StructMember[] members)
IDL の struct を表す TypeCode オブジェクトを生成します。TypeCode オブジェクトは、指定された ID、名前、メンバで初期化されます。
パラメータ:
id - struct のリポジトリ ID
name - struct の名前
members - struct のメンバを記述する配列
戻り値:
IDL の struct を記述する新しく生成された TypeCode オブジェクト

create_union_tc

public abstract TypeCode create_union_tc(String id,
                                         String name,
                                         TypeCode discriminator_type,
                                         UnionMember[] members)
IDL の union を表す TypeCode オブジェクトを生成します。TypeCode オブジェクトは、指定された ID、名前、判別子の型、メンバで初期化されます。
パラメータ:
id - union のリポジトリ ID
name - union の名前
discriminator_type - union 判別子の型
members - union のメンバを記述する配列
戻り値:
IDL の union を記述する新しく生成された TypeCode オブジェクト

create_enum_tc

public abstract TypeCode create_enum_tc(String id,
                                        String name,
                                        String[] members)
IDL の enum を表す TypeCode オブジェクトを生成します。TypeCode オブジェクトは、指定された ID、名前、メンバで初期化されます。
パラメータ:
id - enum のリポジトリ ID
name - enum の名前
members - enum のメンバを記述する配列
戻り値:
IDL の enum を記述する新しく生成された TypeCode オブジェクト

create_alias_tc

public abstract TypeCode create_alias_tc(String id,
                                         String name,
                                         TypeCode original_type)
IDL の alias (typedef) を表す TypeCode オブジェクトを生成します。TypeCode オブジェクトは、指定された ID、名前、元の型で初期化されます。
パラメータ:
id - alias のリポジトリ ID
name - alias の名前
original_type - alias である元の型を記述する TypeCode オブジェクト
戻り値:
IDL の alias を記述する新しく生成された TypeCode オブジェクト

create_exception_tc

public abstract TypeCode create_exception_tc(String id,
                                             String name,
                                             StructMember[] members)
IDL の exception を表す TypeCode オブジェクトを生成します。TypeCode オブジェクトは、指定された ID、名前、メンバで初期化されます。
パラメータ:
id - exception のリポジトリ ID
name - exception の名前
members - exception のメンバを記述する配列
戻り値:
IDL の exception を記述する新しく生成された TypeCode オブジェクト

create_interface_tc

public abstract TypeCode create_interface_tc(String id,
                                             String name)
IDL の interface を表す TypeCode オブジェクトを生成します。TypeCode オブジェクトは、指定された ID と名前で初期化されます。
パラメータ:
id - interface のリポジトリ ID
name - interface の名前
戻り値:
IDL の interface を記述する新しく生成された TypeCode オブジェクト

create_string_tc

public abstract TypeCode create_string_tc(int bound)
IDL のバウンド形式 string を表す TypeCode オブジェクトを生成します。TypeCode オブジェクトは、指定されたバウンドで初期化されます。このバウンドは、文字列の最大長を表します。ゼロは、この型コードで記述される文字列がアンバウンド形式であることを示します。
パラメータ:
bound - string のバウンド。負の値は不可
戻り値:
IDL のバウンド形式 string を記述する新しく生成された TypeCode オブジェクト
例外:
BAD_PARAM - バウンドが負の値の場合

create_wstring_tc

public abstract TypeCode create_wstring_tc(int bound)
IDL のバウンド形式 wstring (ワイド文字列) を表す TypeCode オブジェクトを生成します。TypeCode オブジェクトは、指定されたバウンドで初期化されます。このバウンドは、ワイド文字列の最大長を表します。ゼロは、この型コードで記述される文字列がアンバウンド形式であることを示します。
パラメータ:
bound - wstring のバウンド。負の値は不可
戻り値:
IDL のバウンド形式 wstring を記述する新しく生成された TypeCode オブジェクト
例外:
BAD_PARAM - バウンドが負の値の場合

create_sequence_tc

public abstract TypeCode create_sequence_tc(int bound,
                                            TypeCode element_type)
IDL の sequence を表す TypeCode オブジェクトを生成します。TypeCode オブジェクトは、指定されたバウンドと要素型で初期化されます。
パラメータ:
bound - sequence のバウンド
element_type - sequence に格納されている要素を記述する TypeCode オブジェクト
戻り値:
IDL の sequence を記述する新しく生成された TypeCode オブジェクト

create_recursive_sequence_tc

public abstract TypeCode create_recursive_sequence_tc(int bound,
                                                      int offset)
推奨されていません。  

IDL の再帰的 sequence を表す TypeCode オブジェクトを生成します。

次のコードに示す IDL の struct Foo では、シーケンスを作成するオフセットパラメータは 1 になります。

    Struct Foo {
        long value;
        Sequence <Foo> Chain;
    };
パラメータ:
bound - sequence のバウンド
offset - このシーケンスの要素を記述する、囲み TypeCode オブジェクトのインデックス
戻り値:
再帰的シーケンスを記述する新しく生成された TypeCode オブジェクト

create_array_tc

public abstract TypeCode create_array_tc(int length,
                                         TypeCode element_type)
IDL の array を表す TypeCode オブジェクトを生成します。TypeCode オブジェクトは、指定された長さと要素型で初期化されます。
パラメータ:
length - array の長さ
element_type - array に格納されている要素の型を記述する TypeCode オブジェクト
戻り値:
IDL の array を記述する新しく生成された TypeCode オブジェクト

create_native_tc

public TypeCode create_native_tc(String id,
                                 String name)
IDL ネイティブ型の TypeCode オブジェクトを生成します。
パラメータ:
id - ネイティブ型の論理 ID
name - ネイティブ型の名前
戻り値:
要求された TypeCode
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_abstract_interface_tc

public TypeCode create_abstract_interface_tc(String id,
                                             String name)
IDL の抽象インタフェースの TypeCode オブジェクトを生成します。
パラメータ:
id - 抽象インタフェース型の論理 ID
name - 抽象インタフェース型の名前
戻り値:
要求された TypeCode
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_fixed_tc

public TypeCode create_fixed_tc(short digits,
                                short scale)
IDL の fixed 型の TypeCode オブジェクトを生成します。
パラメータ:
digits - 10 進数の合計数を数字で指定。1 から 31 までの論理和である必要がある
scale - 小数点の位置
戻り値:
要求された TypeCode
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_value_tc

public TypeCode create_value_tc(String id,
                                String name,
                                short type_modifier,
                                TypeCode concrete_base,
                                ValueMember[] members)
IDL 値型の TypeCode オブジェクトを生成します。concrete_base パラメータは、TypeCode が生成される value 型の即時具象基底 value 型に対する TypeCode です。value 型に具象基底がない場合は、null にすることもできます。
パラメータ:
id - 値型の論理 ID
name - 値型の名前
type_modifier - 値型修飾子定数。VM_NONE、VM_CUSTOM、VM_ABSTRACT、または VM_TRUNCATABLE のうちの 1 つ
concrete_base - 具象基底 value 型を記述する TypeCode オブジェクト
members - 値型のメンバを格納する配列
戻り値:
要求された TypeCode
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_recursive_tc

public TypeCode create_recursive_tc(String id)
反復を含む TypeCode を生成する処理の際に、具象 TypeCode のプレースホルダとして機能する反復 TypeCode を生成します。id パラメータによって、反復 TypeCode がプレースホルダとして機能する型のリポジトリ ID が指定されます。指定したリポジトリ ID に対応する、囲み TypeCode に反復 TypeCode が正しく埋め込まれると、標準の TypeCode として機能します。囲み TypeCode に埋め込まれる前に反復 TypeCode でオペレーションを呼び出すと、定義されていない動作が発生します。

たとえば、次の IDL 型宣言には反復が含まれます。

    Struct Foo {
        long value;
        Sequence <Foo> Chain;
    };
    Struct Bar {
        public Bar member;
    };

構造体 Bar に TypeCode を生成するには、次に示すように TypeCode 生成オペレーションを呼び出します。

 String barID = "IDL:Bar:1.0";
 TypeCode recursiveTC = orb.create_recursive_tc(barID);
 StructMember[] members = { new StructMember("member", recursiveTC, null) };
 TypeCode structBarTC = orb.create_struct_tc(barID, "Bar", members);
パラメータ:
id - 参照型の論理 ID
戻り値:
要求された TypeCode
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_value_box_tc

public TypeCode create_value_box_tc(String id,
                                    String name,
                                    TypeCode boxed_type)
IDL 値ボックスの TypeCode オブジェクトを生成します。
パラメータ:
id - 値型の論理 ID
name - 値型の名前
boxed_type - 型の TypeCode
戻り値:
要求された TypeCode
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_any

public abstract Any create_any()
kind フィールドが TCKind.tc_null に設定された TypeCode オブジェクトを格納するように初期化された、IDL の Any オブジェクトを生成します。
戻り値:
新しく生成された Any オブジェクト

get_current

public Current get_current()
推奨されていません。 resolve_initial_references を使用してください。

Current オブジェクトを取り出します。Current インタフェースは、トランザクションやセキュリティなどのサービスで使用するスレッド固有の情報を管理するために使います。
戻り値:
新しく生成された Current オブジェクト
関連項目:
CORBA パッケージに実装されていない機能についてのコメント, CORBA パッケージに実装されていない機能についてのコメント

run

public void run()
この操作は、ORB が停止したときに復帰します。このメソッドがメインスレッドから呼び出されると、ORB はメインスレッドを使って処理を実行できるようになります。それ以外の場合は、ORB が停止するまで単に待機します。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

shutdown

public void shutdown(boolean wait_for_completion)
ORB に停止するように指示します。これにより、すべてのオブジェクトアダプタが停止します。wait_for_completion パラメータが true の場合、この操作はすべての ORB 処理 (現在実行中の要求の処理、オブジェクトの終了、その他のオブジェクトアダプタ操作など) が完了するまでブロックします。ORB.run メソッドは、shutdown が呼び出されたあとに復帰します。
パラメータ:
wait_for_completion - 停止する前に ORB の処理を完了しなければならない場合は true、ORB をただちに停止する場合は false
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

work_pending

public boolean work_pending()
ORB が処理を実行するためにメインスレッドを必要とする場合は true、メインスレッドを必要としない場合は false を返します。
戻り値:
作業待機がある場合、つまり ORB が処理を実行するためにメインスレッドを必要とする場合は true、作業待機がなく、メインスレッドを必要としない場合は false
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

perform_work

public void perform_work()
メインスレッドから呼び出されると、実装に依存する処理単位を実行します。そうでない場合、処理はありません。work_pending メソッドと perform_work メソッドを連携して使うと、ORB とほかのアクティビティの間でメインスレッドを多重化する単純なポーリングループを実装できます。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

get_service_information

public boolean get_service_information(short service_type,
                                       ServiceInformationHolder service_info)
実装されていない機能については、パッケージコメントを参照してください。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_dyn_any

public DynAny create_dyn_any(Any value)
実装されていない機能については、パッケージコメントを参照してください。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_basic_dyn_any

public DynAny create_basic_dyn_any(TypeCode type)
                            throws InconsistentTypeCode
実装されていない機能については、パッケージコメントを参照してください。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_dyn_struct

public DynStruct create_dyn_struct(TypeCode type)
                            throws InconsistentTypeCode
実装されていない機能については、パッケージコメントを参照してください。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_dyn_sequence

public DynSequence create_dyn_sequence(TypeCode type)
                                throws InconsistentTypeCode
実装されていない機能については、パッケージコメントを参照してください。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_dyn_array

public DynArray create_dyn_array(TypeCode type)
                          throws InconsistentTypeCode
実装されていない機能については、パッケージコメントを参照してください。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_dyn_union

public DynUnion create_dyn_union(TypeCode type)
                          throws InconsistentTypeCode
実装されていない機能については、パッケージコメントを参照してください。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_dyn_enum

public DynEnum create_dyn_enum(TypeCode type)
                        throws InconsistentTypeCode
実装されていない機能については、パッケージコメントを参照してください。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

create_policy

public Policy create_policy(int type,
                            Any val)
                     throws PolicyError
実装されていない機能については、パッケージコメントを参照してください。
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.