モジュール java.corba
パッケージ org.omg.DynamicAny

インタフェースDynAnyOperations

  • 既知のすべてのサブインタフェース:
    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で呼び出された場合