モジュール java.corba
パッケージ 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のブリッジやデバッグなどの活動をサポートするために用意されているもので、値型のカプセル化に独断で違反するために使用すべきではありません。

    • メソッドの詳細

      • 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のシーケンスで初期化します。 渡されるシーケンスの長さがゼロ以外である場合、現在位置はゼロに設定されます。 そうではない場合、つまり空のシーケンスが渡されると、現在位置は -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のシーケンスで初期化します。 渡されるシーケンスの長さがゼロ以外である場合、現在位置はゼロに設定されます。 そうではない場合、つまり空のシーケンスが渡されると、現在位置は -1に設定されます。 このメソッドを使用して、nullの値型をnull以外の値型に初期化できます。

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

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