JavaTM 2 Platform
Standard Ed. 5.0

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

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

public interface DynValueOperations
extends DynValueCommonOperations

DynValue オブジェクトによって、IDL の非 boxed 値型の操作がサポートされます。DynValue インタフェースは、null と null 以外の両方の値型を表すことができます。null 以外の値型を表す DynValue の場合、DynValue のコンポーネントには値型の public および private メンバが、具象基底型から継承されたものも含めて、定義順に含まれます。null の値型を表す DynValue にはコンポーネントはなく、現在位置は -1 になります。

警告: 値型が private のメンバの内容をむやみに変更すると、内部制約違反によって値型の実装が損傷する原因になる場合があります。private メンバへのアクセスは、ORB のブリッジやデバッグなどの活動をサポートするために用意されているもので、値型のカプセル化に独断で違反するために使用すべきではありません。


メソッドの概要
 TCKind current_member_kind()
          現在位置のメンバに関連付けられた TCKind を返します。
 String current_member_name()
          現在位置のメンバの名前を返します。
 NameDynAnyPair[] get_members_as_dyn_any()
          値型の各メンバの名前と値を示す NameDynAnyPair のシーケンスを返します。
 NameValuePair[] get_members()
          値型の各メンバの名前と値を示す NameValuePair のシーケンスを返します。
 void set_members_as_dyn_any(NameDynAnyPair[] value)
          値型のメンバを、NameDynAnyPair のシーケンスで初期化します。
 void set_members(NameValuePair[] value)
          値型のメンバを、NameValuePair のシーケンスで初期化します。
 
インタフェース org.omg.DynamicAny.DynValueCommonOperations から継承されたメソッド
is_null, set_to_null, set_to_value
 
インタフェース 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 - DynValue が null の値型を表す場合
InvalidValue - 現在位置がメンバを指し示さない場合

current_member_kind

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

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

get_members

NameValuePair[] get_members()
                            throws InvalidValue
値型の各メンバの名前と値を示す NameValuePair のシーケンスを返します。このシーケンスには、DynValue の TypeCode によって示されるメンバの宣言順にメンバが含まれます。現在位置は変更されません。DynValue の TypeCode にメンバ名が含まれない場合は、返されるシーケンス内のメンバ名は空になります。

例外:
InvalidValue - このオブジェクトが null の値型を表す場合

set_members

void set_members(NameValuePair[] value)
                 throws TypeMismatch,
                        InvalidValue
値型のメンバを、NameValuePair のシーケンスで初期化します。渡されるシーケンスの長さが 0 以外である場合、現在位置は 0 に設定されます。そうではない場合、つまり空のシーケンスが渡されると、現在位置は -1 に設定されます。このメソッドを使用して、null の値型を null 以外の値型に初期化することができます。

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

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

get_members_as_dyn_any

NameDynAnyPair[] get_members_as_dyn_any()
                                        throws InvalidValue
値型の各メンバの名前と値を示す NameDynAnyPair のシーケンスを返します。このシーケンスには、DynValue の TypeCode によって示されるメンバの宣言順にメンバが含まれます。現在位置は変更されません。DynValue の TypeCode にメンバ名が含まれない場合は、返されるシーケンス内のメンバ名は空になります。

例外:
InvalidValue - このオブジェクトが null の値型を表す場合

set_members_as_dyn_any

void set_members_as_dyn_any(NameDynAnyPair[] value)
                            throws TypeMismatch,
                                   InvalidValue
値型のメンバを、NameDynAnyPair のシーケンスで初期化します。渡されるシーケンスの長さが 0 以外である場合、現在位置は 0 に設定されます。そうではない場合、つまり空のシーケンスが渡されると、現在位置は -1 に設定されます。このメソッドを使用して、null の値型を null 以外の値型に初期化することができます。

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

例外:
TypeMismatch - 渡されたシーケンスに指定されたメンバ名が、DynValue の TypeCode の対応するメンバ名に一致せず、空の文字列でもない場合
InvalidValue - 渡されたシーケンスの要素の数が、DynValue の 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 も参照してください。