JavaTM 2 Platform
Standard Ed. 5.0

org.omg.DynamicAny
インタフェース DynStructOperations

すべてのスーパーインタフェース:
DynAnyOperations
既知のサブインタフェースの一覧:
DynStruct
既知の実装クラスの一覧:
_DynStructStub

public interface DynStructOperations
extends DynAnyOperations

DynStruct オブジェクトによって、IDL 構造体および例外値の操作がサポートされます。例外のメンバは、構造体のメンバと同じように扱われます。


メソッドの概要
 TCKind current_member_kind()
          現在位置のメンバに関連付けられた TCKind を返します。
 String current_member_name()
          現在位置のメンバの名前を返します。
 NameDynAnyPair[] get_members_as_dyn_any()
          DynStruct オブジェクトに関連付けられている構造体の各メンバの名前と値を示す NameDynAnyPair のシーケンスを返します。
 NameValuePair[] get_members()
          DynStruct オブジェクトに関連付けられている構造体の各メンバの名前と値を示す NameValuePair のシーケンスを返します。
 void set_members_as_dyn_any(NameDynAnyPair[] value)
          DynStruct オブジェクトに関連付けられた構造体のデータ値を、NameDynAnyPair のシーケンスで初期化します。
 void set_members(NameValuePair[] value)
          DynStruct オブジェクトに関連付けられた構造体のデータ値を、NameValuePair のシーケンスで初期化します。
 
インタフェース org.omg.DynamicAny.DynAnyOperations から継承されたメソッド
assign, component_count, copy, current_component, destroy, equal, from_any, get_any, get_boolean, get_char, get_double, get_dyn_any, get_float, get_long, get_longlong, get_octet, get_reference, get_short, get_string, get_typecode, get_ulong, get_ulonglong, get_ushort, get_val, get_wchar, get_wstring, insert_any, insert_boolean, insert_char, insert_double, insert_dyn_any, insert_float, insert_long, insert_longlong, insert_octet, insert_reference, insert_short, insert_string, insert_typecode, insert_ulong, insert_ulonglong, insert_ushort, insert_val, insert_wchar, insert_wstring, next, rewind, seek, to_any, type
 

メソッドの詳細

current_member_name

String current_member_name()
                           throws TypeMismatch,
                                  InvalidValue
現在位置のメンバの名前を返します。操作対象の値の TypeCode にはメンバの名前が含まれないこともあるため、空の文字列が返される場合もあります。

例外:
TypeMismatch - DynStruct が空の例外を表す場合
InvalidValue - 現在位置がメンバを指し示さない場合

current_member_kind

TCKind current_member_kind()
                           throws TypeMismatch,
                                  InvalidValue
現在位置のメンバに関連付けられた TCKind を返します。

例外:
TypeMismatch - DynStruct が空の例外を表す場合
InvalidValue - 現在位置がメンバを指し示さない場合

get_members

NameValuePair[] get_members()
DynStruct オブジェクトに関連付けられている構造体の各メンバの名前と値を示す NameValuePair のシーケンスを返します。このシーケンスには、DynStruct の TypeCode によって示されるメンバの宣言順にメンバが含まれます。現在位置は変更されません。DynStruct の TypeCode にメンバ名が含まれない場合は、返されるシーケンス内のメンバ名は空になります。


set_members

void set_members(NameValuePair[] value)
                 throws TypeMismatch,
                        InvalidValue
DynStruct オブジェクトに関連付けられた構造体のデータ値を、NameValuePair のシーケンスで初期化します。渡されるシーケンスの長さが 0 以外である場合、現在位置は 0 に設定されます。そうではない場合、つまり空のシーケンスが渡されると、現在位置は -1 に設定されます。

NameValuePair のメンバの順序は、DynStruct の TypeCode に示される構造体の IDL 指定と同じ順序である必要があります。そうでない場合は空の文字列でなければなりません。このオペレーションでは、メンバ名に基づいてメンバの値が割り当てられることはありません。

例外:
TypeMismatch - 渡されたシーケンスに指定されたメンバ名が、DynStruct の TypeCode の対応するメンバ名に一致せず、空の文字列でもない場合
InvalidValue - 渡されたシーケンスの要素の数が、DynStruct の TypeCode のメンバの数と一致しない場合

get_members_as_dyn_any

NameDynAnyPair[] get_members_as_dyn_any()
DynStruct オブジェクトに関連付けられている構造体の各メンバの名前と値を示す NameDynAnyPair のシーケンスを返します。このシーケンスには、DynStruct の TypeCode によって示されるメンバの宣言順にメンバが含まれます。現在位置は変更されません。DynStruct の TypeCode にメンバ名が含まれない場合は、返されるシーケンス内のメンバ名は空になります。


set_members_as_dyn_any

void set_members_as_dyn_any(NameDynAnyPair[] value)
                            throws TypeMismatch,
                                   InvalidValue
DynStruct オブジェクトに関連付けられた構造体のデータ値を、NameDynAnyPair のシーケンスで初期化します。渡されるシーケンスの長さが 0 以外である場合、現在位置は 0 に設定されます。そうではない場合、つまり空のシーケンスが渡されると、現在位置は -1 に設定されます。

NameDynAnyPair のメンバの順序は、DynStruct の TypeCode に示される構造体の IDL 指定と同じ順序である必要があります。そうでない場合は空の文字列でなければなりません。このオペレーションでは、メンバ名に基づいてメンバの値が割り当てられることはありません。

例外:
TypeMismatch - 渡されたシーケンスに指定されたメンバ名が、DynStruct の TypeCode の対応するメンバ名に一致せず、空の文字列でもない場合
InvalidValue - 渡されたシーケンスの要素の数が、DynStruct の TypeCode のメンバの数と一致しない場合

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 も参照してください。