JavaTM 2 Platform
Standard Ed. 5.0

org.omg.DynamicAny
クラス _DynAnyStub

java.lang.Object
  上位を拡張 org.omg.CORBA.portable.ObjectImpl
      上位を拡張 org.omg.DynamicAny._DynAnyStub
すべての実装されたインタフェース:
Serializable, Object, IDLEntity, DynAny, DynAnyOperations

public class _DynAnyStub
extends ObjectImpl
implements DynAny

Any の値は、DynAny オブジェクトを通して動的に解釈 (トラバース) および構築することができます。DynAny オブジェクトは、any に挿入される値のコピーに対応するデータ値に関連付けられます。

DynAny オブジェクトは、コンポーネントの DynAny の順序付けられたコレクションと見なすことができます。DynAny が long などの基本型を表す場合、または空の例外のようにコンポーネントのない型を表す場合は、コンポーネントの順序付けられたコレクションは空になります。それぞれの DynAny オブジェクトで、その DynAny のコンポーネントのコレクション内における現在位置が把握されます。現在位置は、0 から n-1 のインデックス値で示されます (n はコンポーネントの数)。-1 という特別なインデックス値もあり、これは現在位置がどこも指し示していないことを意味します。現在位置を持つことのできない値 (空の例外など) の場合、インデックス値は -1 で固定されます。DynAny がコンポーネントを持つ値で初期化された場合、インデックスも 0 に初期化されます。初期化されていない DynAny (DynAny に値がないが、コンポーネントを持つことのできる TypeCode がある) が作成された場合は、現在位置は DynAny によって表される値の型によって異なり、新規作成された DynAny のコンポーネントがデフォルト値を持てるかどうかによって 0 または -1 になります。

rewind、seek、および next の繰り返しオペレーションを使用すると、現在位置が変更できます。current_component オペレーションは、現在位置のコンポーネントを返します。component_count オペレーションは DynAny のコンポーネントの数を返します。これらのオペレーションを合わせて使えば、コンポーネントの内容を (再帰的に) 調べるなど、DynAny のコンポーネントに対して繰り返し処理を行うことができます。

構築型と関連付けられた DynAny オブジェクトを、構築型 DynAny オブジェクトといいます。IDL の各種構築型 (fixed、enum、struct、sequence、union、array、exception、値型) のそれぞれについて、DynAny インタフェースから継承されたインタフェースがあります。

構築型 DynAny オブジェクトは、DynAny オブジェクトを新規作成するためのオペレーションをエクスポートします。作成されるオブジェクトはそれぞれ構築型のデータ値のコンポーネントに関連付けられます。たとえば、DynStruct は struct 値と関連付けられます。つまり、DynStruct は、構造体のメンバごとにコンポーネントが 1 つずつあるような、順序付けられたコレクションを所有すると見なすことができます。DynStruct オブジェクトは、struct のメンバに関連付けられる DynAny オブジェクトを新規作成するためのオペレーションをエクスポートします。

別の (構築型) DynAny から DynAny オブジェクトを得た場合、たとえば DynStruct から作成された、構造体メンバを表す DynAny は、DynStruct に論理的に含まれることになります。insert または get オペレーションを呼び出しても、現在位置は変更されません。最上位の DynAny オブジェクト (別の DynAny のコンポーネントではないもの) を破棄すると、そのコンポーネントの DynAny も破棄されます。最上位ではない DynAny を破棄した場合は何も起こりません。破棄された最上位の DynAny、またはその下位オブジェクトに対してオペレーションを呼び出すと、OBJECT_NOT_EXIST がスローされます。DynAny を破棄したあとも、それに関連付けられるデータ値のコンポーネントを操作するには、まずコンポーネントの DynAny を作成してから、作成した DynAny オブジェクトのコピーを作成します。

DynAny オブジェクトの動作は、割り当てられたメモリ空間とアクセス速度に関して効果的な実装を実現できるように定義されています。DynAny オブジェクトは、実行時に any から抽出された値のトラバースや、any の値の構築を行うために使用することが想定されています。ほかの用途での使用はお勧めできません。

insert と get の各オペレーションは、基本 DynAny オブジェクトの操作に必要ですが、構築型 DynAny オブジェクトの操作にも役立ちます。構築型 DynAny オブジェクトに基本データ型の値を挿入すると、DynAny オブジェクトに関連付けられた構築型データ値の現在のコンポーネントを初期化することになります。たとえば、DynStruct で insert_boolean を呼び出すと、関連する struct のデータ値の現在位置に boolean のデータ値が挿入されます。値の TypeCode が DynAny に含まれる TypeCode と同じである場合、値の挿入と抽出を通して型は同じになります。DynAny にコンポーネントがある場合は、値の挿入と抽出における型は現在位置の DynAny の TypeCode と同じになります。

DynAny オブジェクトと DynAnyFactory オブジェクトは、それらが作成され使用されるプロセスに対してローカルであると想定されています。つまり、DynAny および DynAnyFactory オブジェクトへの参照をほかのプロセスにエクスポートしたり、ORB.object_to_string() で外部化したりすることはできず、実行を試みると MARSHAL システム例外が発生します。IDL にインタフェースが指定されているため、DynAny オブジェクトでは標準の org.omg.CORBA.Object インタフェースに定義されているオペレーションをエクスポートできます。ただし、Object インタフェースを通してエクスポートしたオペレーションを呼び出そうとすると、標準 NO_IMPLEMENT 例外が発生することがあります。DynAny オブジェクトを DII と使用しようとすると、NO_IMPLEMENT 例外が発生する場合があります。


フィールドの概要
static Class _opsClass
           
 
コンストラクタの概要
_DynAnyStub()
           
 
メソッドの概要
 String[] _ids()
          この ObjectImpl オブジェクトがサポートするリポジトリ識別子を含む文字列配列を取得します。
 void assign(DynAny dyn_any)
          DynAny オブジェクトに関連付けられた値を、別の DynAny オブジェクトに関連付けられた値で初期化します。
 int component_count()
          DynAny のコンポーネントの数を返します。
 DynAny copy()
          呼び出した DynAny のディープコピーである値を持つ DynAny を新規作成します。
 DynAny current_component()
          現在位置のコンポーネントの DynAny を返します。
 void destroy()
          DynAny オブジェクトを破棄します。
 boolean equal(DynAny dyn_any)
          2 つの DynAny 値が等しいかどうか比較します。
 void from_any(Any value)
          DynAny オブジェクトに関連付けられた値を、any に含まれる値で初期化します。
 Any get_any()
          この DynAny が表す Any に含まれている Any 値を抽出します。
 boolean get_boolean()
          この DynAny から boolean 値を抽出します。
 char get_char()
          この DynAny から char 値を抽出します。
 double get_double()
          この DynAny から double 値を抽出します。
 DynAny get_dyn_any()
          この DynAny が表す Any に含まれている Any 値を抽出し、それを新しい DynAny にラップして返します。
 float get_float()
          この DynAny から float 値を抽出します。
 int get_long()
          この DynAny から整数値を抽出します。
 long get_longlong()
          この DynAny から long 値を抽出します。
 byte get_octet()
          この DynAny から byte 値を抽出します。
 Object get_reference()
          この DynAny から CORBA オブジェクトへの参照を抽出します。
 short get_short()
          この DynAny から short 値を抽出します。
 String get_string()
          この DynAny から文字列値を抽出します。
 TypeCode get_typecode()
          この DynAny から TypeCode オブジェクトを抽出します。
 int get_ulong()
          この DynAny から整数値を抽出します。
 long get_ulonglong()
          この DynAny から long 値を抽出します。
 short get_ushort()
          この DynAny から short 値を抽出します。
 Serializable get_val()
          この DynAny から直列化可能オブジェクトを抽出します。
 char get_wchar()
          この DynAny から long 値を抽出します。
 String get_wstring()
          この DynAny から文字列値を抽出します。
 void insert_any(Any value)
          この DynAny が表す Any に Any 値を挿入します。
 void insert_boolean(boolean value)
          DynAny に boolean 値を挿入します。
 void insert_char(char value)
          DynAny に char 値を挿入します。
 void insert_double(double value)
          DynAny に double 値を挿入します。
 void insert_dyn_any(DynAny value)
          この DynAny が表す Any に、パラメータ DynAny 内の Any 値を挿入します。
 void insert_float(float value)
          DynAny に float 値を挿入します。
 void insert_long(int value)
          DynAny に整数値を挿入します。
 void insert_longlong(long value)
          DynAny に long 値を挿入します。
 void insert_octet(byte value)
          DynAny に byte 値を挿入します。
 void insert_reference(Object value)
          DynAny に CORBA オブジェクトへの参照を挿入します。
 void insert_short(short value)
          DynAny に short 値を挿入します。
 void insert_string(String value)
          DynAny に文字列値を挿入します。
 void insert_typecode(TypeCode value)
          DynAny に TypeCode オブジェクトを挿入します。
 void insert_ulong(int value)
          DynAny に整数値を挿入します。
 void insert_ulonglong(long value)
          DynAny に long 値を挿入します。
 void insert_ushort(short value)
          DynAny に short 値を挿入します。
 void insert_val(Serializable value)
          この DynAny に直列化可能オブジェクトに対する参照を挿入します。
 void insert_wchar(char value)
          DynAny に char 値を挿入します。
 void insert_wstring(String value)
          DynAny に文字列値を挿入します。
 boolean next()
          現在位置を次のコンポーネントに進めます。
 void rewind()
          seek(0) と同じです。
 boolean seek(int index)
          現在位置を index に設定します。
 Any to_any()
          DynAny オブジェクトから any 値を作成します。
 TypeCode type()
          この DynAny オブジェクトに関連付けられた TypeCode を返します。
 
クラス org.omg.CORBA.portable.ObjectImpl から継承されたメソッド
_create_request, _create_request, _duplicate, _get_delegate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_delegate, _set_policy_override, equals, hashCode, toString
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
インタフェース org.omg.CORBA.Object から継承されたメソッド
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override
 

フィールドの詳細

_opsClass

public static final Class _opsClass
コンストラクタの詳細

_DynAnyStub

public _DynAnyStub()
メソッドの詳細

type

public TypeCode type()
この DynAny オブジェクトに関連付けられた TypeCode を返します。DynAny オブジェクトは、作成時に TypeCode 値を割り当てられます。この TypeCode の値によって、DynAny オブジェクトを通して扱われる値の型が決まります。DynAny オブジェクトに関連付けられる TypeCode は、DynAny の作成時に初期化され、その DynAny の存続期間中は変更できないことに注意してください。

定義:
インタフェース DynAnyOperations 内の type
戻り値:
この DynAny オブジェクトに関連付けられた TypeCode

assign

public void assign(DynAny dyn_any)
            throws TypeMismatch
DynAny オブジェクトに関連付けられた値を、別の DynAny オブジェクトに関連付けられた値で初期化します。初期化される DynAny の現在位置は、値がコンポーネントを持つ場合は 0 に、コンポーネントを持たない場合は -1 に設定されます。

定義:
インタフェース DynAnyOperations 内の assign
パラメータ:
dyn_any -
例外:
TypeMismatch - 渡された DynAny の型が、初期化される DynAny の型に一致しない場合

from_any

public void from_any(Any value)
              throws TypeMismatch,
                     InvalidValue
DynAny オブジェクトに関連付けられた値を、any に含まれる値で初期化します。初期化される DynAny の現在位置は、値がコンポーネントを持つ場合は 0 に、コンポーネントを持たない場合は -1 に設定されます。

定義:
インタフェース DynAnyOperations 内の from_any
例外:
TypeMismatch - 渡された Any の型が、初期化される DynAny の型に一致しない場合
InvalidValue - 渡された Any に正当な値が含まれない場合 (null の文字列など)

to_any

public Any to_any()
DynAny オブジェクトから any 値を作成します。DynAny オブジェクトに関連付けられた TypeCode のコピーが、結果として作成される any に割り当てられます。DynAny オブジェクトに関連付けられた値が any にコピーされます。

定義:
インタフェース DynAnyOperations 内の to_any
戻り値:
同じ値と TypeCode を持つ Any オブジェクト

equal

public boolean equal(DynAny dyn_any)
2 つの DynAny 値が等しいかどうか比較します。DynAny 値は、TypeCode が等しく、再帰的にすべての DynAny が等しい値を持つ場合に、等しいことになります。比較対象の 2 つの DynAny の現在位置は、等しいかどうかには関係しません。

定義:
インタフェース DynAnyOperations 内の equal
戻り値:
2 つの DynAny が等しい場合は true、そうでない場合は false

destroy

public void destroy()
DynAny オブジェクトを破棄します。このオペレーションによって、DynAny オブジェクトに関連付けられるデータ値を表すために使用されるリソースはすべて解放されます。ORB インタフェースの作成オペレーションで取得した参照や、DynAny.copy() から返された参照に対しては必ず呼び出し、リソースのリークを防ぐ必要があります。コンポーネントの DynAny オブジェクト (たとえば、current_component オペレーションで返されたオブジェクトなど) で破棄オペレーションを呼び出しても何も起こりません。DynAny オブジェクトを破棄すると、そのオブジェクトから得られるすべての DynAny オブジェクトが破棄されることになります。つまり、破棄された DynAny のコンポーネントへの参照は無効になります。このような参照で呼び出しを行うと、OBJECT_NOT_EXIST が発生します。DynAny のコンポーネントをその DynAny の破棄後も操作するには、DynAny を破棄する前に、コピーオペレーションでコンポーネントのコピーを作成します。

定義:
インタフェース DynAnyOperations 内の destroy

copy

public DynAny copy()
呼び出した DynAny のディープコピーである値を持つ DynAny を新規作成します。このオペレーションは多様型です。つまり、DynAny から派生した DynStruct などの型で呼び出すと、派生型が作成されますが、参照は基底型の DynAny で返されます。

定義:
インタフェース DynAnyOperations 内の copy
戻り値:
DynAny オブジェクトのディープコピー

insert_boolean

public void insert_boolean(boolean value)
                    throws TypeMismatch,
                           InvalidValue
DynAny に boolean 値を挿入します。

定義:
インタフェース DynAnyOperations 内の insert_boolean
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_octet

public void insert_octet(byte value)
                  throws TypeMismatch,
                         InvalidValue
DynAny に byte 値を挿入します。IDL のデータ型 octet は、Java のデータ型 byte にマップされます。

定義:
インタフェース DynAnyOperations 内の insert_octet
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_char

public void insert_char(char value)
                 throws TypeMismatch,
                        InvalidValue
DynAny に char 値を挿入します。

定義:
インタフェース DynAnyOperations 内の insert_char
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_short

public void insert_short(short value)
                  throws TypeMismatch,
                         InvalidValue
DynAny に short 値を挿入します。

定義:
インタフェース DynAnyOperations 内の insert_short
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_ushort

public void insert_ushort(short value)
                   throws TypeMismatch,
                          InvalidValue
DynAny に short 値を挿入します。IDL のデータ型 ushort は、Java のデータ型 short にマップされます。

定義:
インタフェース DynAnyOperations 内の insert_ushort
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_long

public void insert_long(int value)
                 throws TypeMismatch,
                        InvalidValue
DynAny に整数値を挿入します。IDL のデータ型 long は、Java のデータ型 int にマップされます。

定義:
インタフェース DynAnyOperations 内の insert_long
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_ulong

public void insert_ulong(int value)
                  throws TypeMismatch,
                         InvalidValue
DynAny に整数値を挿入します。IDL のデータ型 ulong は、Java のデータ型 int にマップされます。

定義:
インタフェース DynAnyOperations 内の insert_ulong
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_float

public void insert_float(float value)
                  throws TypeMismatch,
                         InvalidValue
DynAny に float 値を挿入します。

定義:
インタフェース DynAnyOperations 内の insert_float
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_double

public void insert_double(double value)
                   throws TypeMismatch,
                          InvalidValue
DynAny に double 値を挿入します。

定義:
インタフェース DynAnyOperations 内の insert_double
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_string

public void insert_string(String value)
                   throws TypeMismatch,
                          InvalidValue
DynAny に文字列値を挿入します。バウンド形式とアンバウンド形式のどちらの文字列の場合もこのメソッドを使用して挿入します。

定義:
インタフェース DynAnyOperations 内の insert_string
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
InvalidValue - 挿入される文字列がバウンド形式の文字列の境界より長い場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_reference

public void insert_reference(Object value)
                      throws TypeMismatch,
                             InvalidValue
DynAny に CORBA オブジェクトへの参照を挿入します。

定義:
インタフェース DynAnyOperations 内の insert_reference
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_typecode

public void insert_typecode(TypeCode value)
                     throws TypeMismatch,
                            InvalidValue
DynAny に TypeCode オブジェクトを挿入します。

定義:
インタフェース DynAnyOperations 内の insert_typecode
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_longlong

public void insert_longlong(long value)
                     throws TypeMismatch,
                            InvalidValue
DynAny に long 値を挿入します。IDL のデータ型 long long は、Java のデータ型 long にマップされます。

定義:
インタフェース DynAnyOperations 内の insert_longlong
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_ulonglong

public void insert_ulonglong(long value)
                      throws TypeMismatch,
                             InvalidValue
DynAny に long 値を挿入します。IDL のデータ型の符号なし long long は、Java のデータ型 long にマップされます。

定義:
インタフェース DynAnyOperations 内の insert_ulonglong
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_wchar

public void insert_wchar(char value)
                  throws TypeMismatch,
                         InvalidValue
DynAny に char 値を挿入します。IDL のデータ型 wchar は、Java のデータ型 char にマップされます。

定義:
インタフェース DynAnyOperations 内の insert_wchar
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_wstring

public void insert_wstring(String value)
                    throws TypeMismatch,
                           InvalidValue
DynAny に文字列値を挿入します。バウンド形式とアンバウンド形式のどちらの文字列の場合もこのメソッドを使用して挿入します。

定義:
インタフェース DynAnyOperations 内の insert_wstring
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
InvalidValue - 挿入される文字列がバウンド形式の文字列の境界より長い場合
TypeMismatch

insert_any

public void insert_any(Any value)
                throws TypeMismatch,
                       InvalidValue
この DynAny が表す Any に Any 値を挿入します。

定義:
インタフェース DynAnyOperations 内の insert_any
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_dyn_any

public void insert_dyn_any(DynAny value)
                    throws TypeMismatch,
                           InvalidValue
この DynAny が表す Any に、パラメータ DynAny 内の Any 値を挿入します。

定義:
インタフェース DynAnyOperations 内の insert_dyn_any
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

insert_val

public void insert_val(Serializable value)
                throws TypeMismatch,
                       InvalidValue
この DynAny に直列化可能オブジェクトに対する参照を挿入します。IDL の ValueBase 型は Java の Serializable 型にマップされます。

定義:
インタフェース DynAnyOperations 内の insert_val
例外:
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合

get_boolean

public boolean get_boolean()
                    throws TypeMismatch,
                           InvalidValue
この DynAny から boolean 値を抽出します。

定義:
インタフェース DynAnyOperations 内の get_boolean
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_octet

public byte get_octet()
               throws TypeMismatch,
                      InvalidValue
この DynAny から byte 値を抽出します。IDL のデータ型 octet は、Java のデータ型 byte にマップされます。

定義:
インタフェース DynAnyOperations 内の get_octet
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_char

public char get_char()
              throws TypeMismatch,
                     InvalidValue
この DynAny から char 値を抽出します。

定義:
インタフェース DynAnyOperations 内の get_char
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_short

public short get_short()
                throws TypeMismatch,
                       InvalidValue
この DynAny から short 値を抽出します。

定義:
インタフェース DynAnyOperations 内の get_short
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_ushort

public short get_ushort()
                 throws TypeMismatch,
                        InvalidValue
この DynAny から short 値を抽出します。IDL のデータ型 ushort は、Java のデータ型 short にマップされます。

定義:
インタフェース DynAnyOperations 内の get_ushort
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_long

public int get_long()
             throws TypeMismatch,
                    InvalidValue
この DynAny から整数値を抽出します。IDL のデータ型 long は、Java のデータ型 int にマップされます。

定義:
インタフェース DynAnyOperations 内の get_long
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_ulong

public int get_ulong()
              throws TypeMismatch,
                     InvalidValue
この DynAny から整数値を抽出します。IDL のデータ型 ulong は、Java のデータ型 int にマップされます。

定義:
インタフェース DynAnyOperations 内の get_ulong
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_float

public float get_float()
                throws TypeMismatch,
                       InvalidValue
この DynAny から float 値を抽出します。

定義:
インタフェース DynAnyOperations 内の get_float
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_double

public double get_double()
                  throws TypeMismatch,
                         InvalidValue
この DynAny から double 値を抽出します。

定義:
インタフェース DynAnyOperations 内の get_double
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_string

public String get_string()
                  throws TypeMismatch,
                         InvalidValue
この DynAny から文字列値を抽出します。バウンド形式とアンバウンド形式のどちらの文字列の場合もこのメソッドを使用して抽出します。

定義:
インタフェース DynAnyOperations 内の get_string
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_reference

public Object get_reference()
                     throws TypeMismatch,
                            InvalidValue
この DynAny から CORBA オブジェクトへの参照を抽出します。

定義:
インタフェース DynAnyOperations 内の get_reference
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_typecode

public TypeCode get_typecode()
                      throws TypeMismatch,
                             InvalidValue
この DynAny から TypeCode オブジェクトを抽出します。

定義:
インタフェース DynAnyOperations 内の get_typecode
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_longlong

public long get_longlong()
                  throws TypeMismatch,
                         InvalidValue
この DynAny から long 値を抽出します。IDL のデータ型 long long は、Java のデータ型 long にマップされます。

定義:
インタフェース DynAnyOperations 内の get_longlong
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_ulonglong

public long get_ulonglong()
                   throws TypeMismatch,
                          InvalidValue
この DynAny から long 値を抽出します。IDL のデータ型の符号なし long long は、Java のデータ型 long にマップされます。

定義:
インタフェース DynAnyOperations 内の get_ulonglong
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_wchar

public char get_wchar()
               throws TypeMismatch,
                      InvalidValue
この DynAny から long 値を抽出します。IDL のデータ型 wchar は、Java のデータ型 char にマップされます。

定義:
インタフェース DynAnyOperations 内の get_wchar
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_wstring

public String get_wstring()
                   throws TypeMismatch,
                          InvalidValue
この DynAny から文字列値を抽出します。バウンド形式とアンバウンド形式のどちらの文字列の場合もこのメソッドを使用して抽出します。

定義:
インタフェース DynAnyOperations 内の get_wstring
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue

get_any

public Any get_any()
            throws TypeMismatch,
                   InvalidValue
この DynAny が表す Any に含まれている Any 値を抽出します。

定義:
インタフェース DynAnyOperations 内の get_any
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_dyn_any

public DynAny get_dyn_any()
                   throws TypeMismatch,
                          InvalidValue
この DynAny が表す Any に含まれている Any 値を抽出し、それを新しい DynAny にラップして返します。

定義:
インタフェース DynAnyOperations 内の get_dyn_any
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

get_val

public Serializable get_val()
                     throws TypeMismatch,
                            InvalidValue
この DynAny から直列化可能オブジェクトを抽出します。IDL の ValueBase 型は Java の Serializable 型にマップされます。

定義:
インタフェース DynAnyOperations 内の get_val
例外:
TypeMismatch - DynAny のアクセス対象のコンポーネントが、要求された型と同じ型ではない場合
TypeMismatch - 現在のコンポーネント自体がコンポーネントを持つような DynAny で呼び出された場合
InvalidValue - この DynAny がコンポーネントを持つが、現在位置が -1 である場合

seek

public boolean seek(int index)
現在位置を index に設定します。現在位置には 0 から n-1 というインデックスが付きます。つまり、0 というインデックスは最初のコンポーネントに対応します。このオペレーションは、結果の現在位置が DynAny のコンポーネントを示す場合は true、コンポーネントに対応しない位置を示す場合は false を返します。seek は、負のインデックスでも呼び出せます。この場合、現在位置は -1 に設定され、どのコンポーネントをも指し示さないことになり、false が返されます。現在位置にコンポーネントがない DynAny について負以外のインデックス値を渡すと、現在位置が -1 に設定され、false が返されます。

定義:
インタフェース DynAnyOperations 内の seek

rewind

public void rewind()
seek(0) と同じです。

定義:
インタフェース DynAnyOperations 内の rewind

next

public boolean next()
現在位置を次のコンポーネントに進めます。オペレーションは、結果の現在位置がコンポーネントを示す場合は true、そうでない場合は false を返します。false が返された場合、現在位置は -1 のままになります。コンポーネントを持たない DynAny で next を呼び出すと、現在位置は -1 のままで false が返されます。

定義:
インタフェース DynAnyOperations 内の next

component_count

public int component_count()
DynAny のコンポーネントの数を返します。DynAny がコンポーネントを持たない場合は 0 を返します。コンポーネント数のカウントは、最上位だけに対して行われます。たとえば、メンバが 1 つしかない DynStruct で component_count を呼び出すと、それがどのようなメンバであっても戻り値は 1 になります。

定義:
インタフェース DynAnyOperations 内の component_count

current_component

public DynAny current_component()
                         throws TypeMismatch
現在位置のコンポーネントの DynAny を返します。現在位置は進めないので、rewind、next、seek のどれかを呼び出さずに current_component を繰り返し呼び出すと、同じコンポーネントが返されることになります。返された DynAny オブジェクト参照は、現在のコンポーネントの値の取得や設定に使用できます。現在のコンポーネントが複合型を表す場合、返された参照を TypeCode に基づいてナロー変換し、その複合型に対応するインタフェースを取得することができます。DynEnum または空の例外のようにコンポーネントを持つことのできない DynAny で current_component を呼び出すと、TypeMismatch が発生します。現在位置が -1 である DynAny で current_component を呼び出すと、nil の参照が返されます。current_component とともに繰り返しオペレーションを使用すると、any 値を動的に作成できます。DynStruct などの動的な any を作成後、current_component と next を使用し、値のすべてのコンポーネントを初期化できます。動的な値が完全に初期化されたら、対応する any 値を to_any で作成できます。

定義:
インタフェース DynAnyOperations 内の current_component
例外:
TypeMismatch - DynEnum や空の例外のようにコンポーネントを持つことのできない DynAny で呼び出された場合

_ids

public String[] _ids()
クラス ObjectImpl の記述:
この ObjectImpl オブジェクトがサポートするリポジトリ識別子を含む文字列配列を取得します。たとえばスタブの場合、このメソッドはスタブがサポートするすべてのインタフェースに関する情報を返します。

定義:
クラス ObjectImpl 内の _ids
戻り値:
この ObjectImpl のインスタンスがサポートするすべてのリポジトリ識別子の配列

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。