-
- 既知のすべてのサブインタフェース:
DynAny
,DynArray
,DynArrayOperations
,DynEnum
,DynEnumOperations
,DynFixed
,DynFixedOperations
,DynSequence
,DynSequenceOperations
,DynStruct
,DynStructOperations
,DynUnion
,DynUnionOperations
,DynValue
,DynValueBox
,DynValueBoxOperations
,DynValueCommon
,DynValueCommonOperations
,DynValueOperations
- 既知のすべての実装クラス:
_DynAnyStub
,_DynArrayStub
,_DynEnumStub
,_DynFixedStub
,_DynSequenceStub
,_DynStructStub
,_DynUnionStub
,_DynValueStub
public interface DynAnyOperations
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例外が発生する場合があります。
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 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を返します。
-
-
-
メソッドの詳細
-
type
TypeCode type()
このDynAnyオブジェクトに関連付けられたTypeCodeを返します。 DynAnyオブジェクトは、作成時にTypeCode値を割り当てられます。 このTypeCodeの値によって、DynAnyオブジェクトを通して扱われる値の型が決まります。 DynAnyオブジェクトに関連付けられるTypeCodeは、DynAnyの作成時に初期化され、そのDynAnyの存続期間中は変更できないことに注意してください。- 戻り値:
- このDynAnyオブジェクトに関連付けられたTypeCode
-
assign
void assign(DynAny dyn_any) throws TypeMismatch
DynAnyオブジェクトに関連付けられた値を、別のDynAnyオブジェクトに関連付けられた値で初期化します。 初期化されるDynAnyの現在位置は、値がコンポーネントを持つ場合はゼロに、コンポーネントを持たない場合は -1に設定されます。- パラメータ:
dyn_any
-- 例外:
TypeMismatch
- 渡されたDynAnyの型が、初期化されるDynAnyの型に一致しない場合
-
from_any
void from_any(Any value) throws TypeMismatch, InvalidValue
DynAnyオブジェクトに関連付けられた値を、anyに含まれる値で初期化します。 初期化されるDynAnyの現在位置は、値がコンポーネントを持つ場合はゼロに、コンポーネントを持たない場合は -1に設定されます。- 例外:
TypeMismatch
- 渡されたAnyの型が、初期化されるDynAnyの型に一致しない場合InvalidValue
- 渡されたAnyに正当な値が含まれない場合(nullの文字列など)
-
to_any
Any to_any()
DynAnyオブジェクトからany値を作成します。 DynAnyオブジェクトに関連付けられたTypeCodeのコピーが、結果として作成されるanyに割り当てられます。 DynAnyオブジェクトに関連付けられた値がanyにコピーされます。- 戻り値:
- 同じ値とTypeCodeを持つAnyオブジェクト
-
equal
boolean equal(DynAny dyn_any)
2つのDynAny値が等しいかどうか比較します。 DynAny値は、TypeCodeが等しく、再帰的にすべてのコンポーネントのDynAnyが等しい値を持つ場合に、等しいことになります。 比較対象の2つのDynAnyの現在位置は、等しいかどうかには関係しません。- 戻り値:
- 2つのDynAnyが等しい場合はtrue、そうでない場合はfalse
-
destroy
void destroy()
DynAnyオブジェクトを破棄します。 この操作によって、DynAnyオブジェクトに関連付けられるデータ値を表すために使用されるリソースはすべて解放されます。 ORBインタフェースの作成操作で取得した参照や、DynAny.copy()から返された参照に対しては必ず呼び出し、リソースのリークを防ぐ必要があります。 コンポーネントのDynAnyオブジェクト(たとえば、current_component操作で返されたオブジェクトなど)で破棄操作を呼び出しても何も起こりません。 DynAnyオブジェクトを破棄すると、そのオブジェクトから得られるすべてのDynAnyオブジェクトが破棄されることになります。 つまり、破棄されたDynAnyのコンポーネントへの参照は無効になります。 このような参照で呼出しを行うと、OBJECT_NOT_EXISTが発生します。 DynAnyのコンポーネントをそのDynAnyの破棄後も操作するには、DynAnyを破棄する前に、コピー操作でコンポーネントのコピーを作成します。
-
copy
DynAny copy()
呼び出したDynAnyのディープ・コピーである値を持つDynAnyを新規作成します。 この操作は多様型です。つまり、DynAnyから派生したDynStructなどの型で呼び出すと、派生型が作成されますが、参照は基底型のDynAnyで返されます。- 戻り値:
- DynAnyオブジェクトのディープ・コピー
-
insert_boolean
void insert_boolean(boolean value) throws TypeMismatch, InvalidValue
DynAnyにboolean値を挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_octet
void insert_octet(byte value) throws TypeMismatch, InvalidValue
DynAnyにbyte値を挿入します。 IDLのデータ型octetは、Javaのデータ型byteにマップされます。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_char
void insert_char(char value) throws TypeMismatch, InvalidValue
DynAnyにchar値を挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_short
void insert_short(short value) throws TypeMismatch, InvalidValue
DynAnyにshort値を挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_ushort
void insert_ushort(short value) throws TypeMismatch, InvalidValue
DynAnyにshort値を挿入します。 IDLのデータ型ushortは、Javaのデータ型shortにマップされます。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_long
void insert_long(int value) throws TypeMismatch, InvalidValue
DynAnyに整数値を挿入します。 IDLのデータ型longは、Javaのデータ型intにマップされます。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_ulong
void insert_ulong(int value) throws TypeMismatch, InvalidValue
DynAnyに整数値を挿入します。 IDLのデータ型ulongは、Javaのデータ型intにマップされます。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_float
void insert_float(float value) throws TypeMismatch, InvalidValue
DynAnyにfloat値を挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_double
void insert_double(double value) throws TypeMismatch, InvalidValue
DynAnyにdouble値を挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_string
void insert_string(String value) throws TypeMismatch, InvalidValue
DynAnyに文字列値を挿入します。 バウンド形式とアンバウンド形式のどちらの文字列の場合もこのメソッドを使用して挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合InvalidValue
- 挿入される文字列がバウンド形式の文字列の境界より長い場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_reference
void insert_reference(Object value) throws TypeMismatch, InvalidValue
DynAnyにCORBAオブジェクトへの参照を挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_typecode
void insert_typecode(TypeCode value) throws TypeMismatch, InvalidValue
DynAnyにTypeCodeオブジェクトを挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_longlong
void insert_longlong(long value) throws TypeMismatch, InvalidValue
DynAnyにlong値を挿入します。 IDLのデータ型long longは、Javaのデータ型longにマップされます。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_ulonglong
void insert_ulonglong(long value) throws TypeMismatch, InvalidValue
DynAnyにlong値を挿入します。 IDLのデータ型の符号なしlong longは、Javaのデータ型longにマップされます。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_wchar
void insert_wchar(char value) throws TypeMismatch, InvalidValue
DynAnyにchar値を挿入します。 IDLのデータ型wcharは、Javaのデータ型charにマップされます。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_wstring
void insert_wstring(String value) throws TypeMismatch, InvalidValue
DynAnyに文字列値を挿入します。 バウンド形式とアンバウンド形式のどちらの文字列の場合もこのメソッドを使用して挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合InvalidValue
- 挿入される文字列がバウンド形式の文字列の境界より長い場合TypeMismatch
-
insert_any
void insert_any(Any value) throws TypeMismatch, InvalidValue
このDynAnyが表すAnyにAny値を挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_dyn_any
void insert_dyn_any(DynAny value) throws TypeMismatch, InvalidValue
このDynAnyが表すAnyに、パラメータDynAny内のAny値を挿入します。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
insert_val
void insert_val(Serializable value) throws TypeMismatch, InvalidValue
このDynAnyに直列化可能オブジェクトに対する参照を挿入します。 IDLのValueBase型はJavaのSerializable型にマップされます。- 例外:
InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合
-
get_boolean
boolean get_boolean() throws TypeMismatch, InvalidValue
このDynAnyからboolean値を抽出します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_octet
byte get_octet() throws TypeMismatch, InvalidValue
このDynAnyからbyte値を抽出します。 IDLのデータ型octetは、Javaのデータ型byteにマップされます。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_char
char get_char() throws TypeMismatch, InvalidValue
このDynAnyからchar値を抽出します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_short
short get_short() throws TypeMismatch, InvalidValue
このDynAnyからshort値を抽出します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_ushort
short get_ushort() throws TypeMismatch, InvalidValue
このDynAnyからshort値を抽出します。 IDLのデータ型ushortは、Javaのデータ型shortにマップされます。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_long
int get_long() throws TypeMismatch, InvalidValue
このDynAnyから整数値を抽出します。 IDLのデータ型longは、Javaのデータ型intにマップされます。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_ulong
int get_ulong() throws TypeMismatch, InvalidValue
このDynAnyから整数値を抽出します。 IDLのデータ型ulongは、Javaのデータ型intにマップされます。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_float
float get_float() throws TypeMismatch, InvalidValue
このDynAnyからfloat値を抽出します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_double
double get_double() throws TypeMismatch, InvalidValue
このDynAnyからdouble値を抽出します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_string
String get_string() throws TypeMismatch, InvalidValue
このDynAnyから文字列値を抽出します。 バウンド形式とアンバウンド形式のどちらの文字列の場合もこのメソッドを使用して抽出します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_reference
Object get_reference() throws TypeMismatch, InvalidValue
このDynAnyからCORBAオブジェクトへの参照を抽出します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_typecode
TypeCode get_typecode() throws TypeMismatch, InvalidValue
このDynAnyからTypeCodeオブジェクトを抽出します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_longlong
long get_longlong() throws TypeMismatch, InvalidValue
このDynAnyからlong値を抽出します。 IDLのデータ型long longは、Javaのデータ型longにマップされます。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_ulonglong
long get_ulonglong() throws TypeMismatch, InvalidValue
このDynAnyからlong値を抽出します。 IDLのデータ型の符号なしlong longは、Javaのデータ型longにマップされます。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_wchar
char get_wchar() throws TypeMismatch, InvalidValue
このDynAnyからlong値を抽出します。 IDLのデータ型wcharは、Javaのデータ型charにマップされます。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_wstring
String get_wstring() throws TypeMismatch, InvalidValue
このDynAnyから文字列値を抽出します。 バウンド形式とアンバウンド形式のどちらの文字列の場合もこのメソッドを使用して抽出します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
-
get_any
Any get_any() throws TypeMismatch, InvalidValue
このDynAnyが表すAnyに含まれているAny値を抽出します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_dyn_any
DynAny get_dyn_any() throws TypeMismatch, InvalidValue
このDynAnyが表すAnyに含まれているAny値を抽出し、それを新しいDynAnyにラップして返します。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
get_val
Serializable get_val() throws TypeMismatch, InvalidValue
このDynAnyから直列化可能オブジェクトを抽出します。 IDLのValueBase型はJavaのSerializable型にマップされます。- 例外:
TypeMismatch
- DynAnyのアクセス対象のコンポーネントが、要求された型と同じ型ではない場合。TypeMismatch
- 現在のコンポーネント自体がコンポーネントを持つようなDynAnyで呼び出された場合InvalidValue
- このDynAnyがコンポーネントを持つが、現在位置が -1である場合
-
seek
boolean seek(int index)
現在位置をindexに設定します。 現在位置には0からn-1というインデックスが付きます。つまり、0というインデックスは最初のコンポーネントに対応します。 この操作は、結果として得られる現在位置がDynAnyのコンポーネントを示す場合はtrue、コンポーネントに対応しない位置を示す場合はfalseを返します。 seekは、負のインデックスでも呼び出せます。 この場合、現在位置は -1に設定され、どのコンポーネントをも指し示さないことになり、falseが返されます。 現在位置にコンポーネントがないDynAnyについて負以外のインデックス値を渡すと、現在位置が -1に設定され、falseが返されます。
-
rewind
void rewind()
seek(0)と同じです。
-
next
boolean next()
現在位置を次のコンポーネントに進めます。 操作は、結果として得られる現在位置がコンポーネントを示す場合はtrue、そうでない場合はfalseを返します。 falseが返された場合、現在位置は -1のままになります。 コンポーネントを持たないDynAnyでnextを呼び出すと、現在位置は -1のままでfalseが返されます。
-
component_count
int component_count()
DynAnyのコンポーネントの数を返します。 DynAnyがコンポーネントを持たない場合はゼロを返します。 コンポーネント数のカウントは、最上位だけに対して行われます。 たとえば、メンバーが1つしかないDynStructでcomponent_countを呼び出すと、それがどのようなメンバーであっても戻り値は1になります。- シーケンスの場合、このオペレーションは現在の要素数を返します。
- 構造体、例外、および値型の場合、このオペレーションはメンバーの数を返します。
- 配列の場合、このオペレーションは要素数を返します。
- 共用体の場合、指定されたメンバーがアクティブであると判別子が示す場合は2、そうでない場合は1を返します。
- DynFixedおよびDynEnumの場合、このオペレーションはゼロを返します。
-
current_component
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で作成できます。- 例外:
TypeMismatch
- DynEnumや空の例外のようにコンポーネントを持つことのできないDynAnyで呼び出された場合
-
-