Module  java.corba
软件包  org.omg.DynamicAny

Class _DynAnyStub

  • All Implemented Interfaces:
    SerializableObjectIDLEntityDynAnyDynAnyOperations


    public class _DynAnyStub
    extends ObjectImpl
    implements DynAny
    任何值都可以动态解释(遍历)并通过DynAny对象构造。 DynAny对象与数据值相关联,数据值对应于插入任何值的副本。

    DynAny对象可以被视为组件DynAnys的有序集合。 对于代表基本类型(如long)或无组件类型(如空异常)的DynAnys,组件的有序集合为空。 每个DynAny对象将当前位置的概念维护到其组件DynAnys的集合中。 当前位置由从0到n-1运行的索引值来标识,其中n是组件的数量。 特殊索引值-1表示当前位置。 对于不能具有当前位置的值(如空异常),索引值固定为-1。 如果使用具有组件的值初始化DynAny,则索引将初始化为0.创建未初始化的DynAny(即,没有值但具有允许组件的TypeCode的DynAny)之后,当前位置取决于类型由DynAny代表的价值。 (当前位置设置为0或-1,具体取决于新的DynAny是否为其组件获取默认值。)

    迭代操作倒退,查找和下一个可以用于更改当前位置,并且current_component操作返回当前位置的组件。 component_count操作返回DynAny的组件数。 总而言之,这些操作可以对DynAny的组件执行迭代,例如(递归)检查其内容。

    构造的DynAny对象是与构造类型相关联的DynAny对象。 有一个不同的接口,从DynAny接口继承,与IDL(固定,枚举,结构,序列,联合,数组,异常和值类型)中的每种构造类型相关联。

    构造的DynAny对象导出可以创建新的DynAny对象的操作,每个对象都与构造的数据值的组件相关联。 作为示例,DynStruct与一个结构体值相关联。 这意味着DynStruct可能被视为拥有一个有序的组件集合,每个结构成员一个。 DynStruct对象导出可以创建新的DynAny对象的操作,每个对象都与结构体的成员相关联。

    如果已经从另一个(构造的)DynAny对象获取DynAny对象,例如DynAny表示从DynStruct创建的结构成员,则DynAny会在逻辑上包含DynStruct。 调用插入或获取操作使当前位置保持不变。 销毁顶层DynAny对象(未作为另一个DynAny的组件获取的对象)也会销毁从其获取的任何组件DynAny对象。 销毁非顶级DynAny对象什么都不做。 对已销毁的顶级DynAny或其任何后代调用操作会引发OBJECT_NOT_EXIST。 如果程序员想要销毁一个DynAny对象,但是仍然想要操作与它相关联的数据值的某个组件,那么他或她应该首先为该组件创建一个DynAny,然后创建一个创建的DynAny对象的副本。

    已经定义了DynAny对象的行为,以便在分配的内存空间和访问速度方面实现高效的实现。 DynAny对象旨在用于遍历从anys提取的值或在运行时构建anys的值。 不建议将其用于其他目的。

    处理基本的DynAny对象需要插入和获取操作,但也有助于处理构造的DynAny对象。 将基本数据类型值插入构造的DynAny对象意味着初始化与DynAny对象关联的构造数据值的当前组件。 例如,在DynStruct上调用insert_boolean意味着在关联的struct数据值的当前位置插入一个布尔数据值。 如果TypeCode等同于DynAny中包含的TypeCode,或者如果DynAny具有组件,则类型与当前位置的DynAny的TypeCode相当,则该类型与插入或提取值是一致的。

    DynAny和DynAnyFactory对象旨在在其创建和使用的进程的本地。 这意味着对DynAny和DynAnyFactory对象的引用不能导出到其他进程,或者使用ORB.object_to_string()进行外部化。 如果尝试这样做,违规行为会引发MARSHAL系统异常。 由于它们的接口在IDL中指定,所以DynAny对象导出在标准org.omg.CORBA.Object接口中定义的操作。 但是,任何调用通过Object接口导出的操作的尝试可能会引发标准的NO_IMPLEMENT异常。 尝试在DII中使用DynAny对象可能会引发NO_IMPLEMENT异常。

    • 字段详细信息

      • _opsClass

        public static final Class _opsClass
    • 构造方法详细信息

      • _DynAnyStub

        public _DynAnyStub​()
    • 方法详细信息

      • type

        public TypeCode type​()
        返回与此DynAny对象关联的TypeCode。 创建一个DynAny对象,并分配一个TypeCode值。 此TypeCode值确定通过DynAny对象处理的值的类型。 请注意,与DynAny对象关联的TypeCode在DynAny创建时被初始化,并且在DynAny对象的生存期内不能更改。
        Specified by:
        type在接口 DynAnyOperations
        结果
        与此DynAny对象关联的TypeCode
      • assign

        public void assign​(DynAny dyn_any)
                    throws TypeMismatch
        使用与另一个DynAny对象关联的值初始化与DynAny对象关联的值。 对于具有组件的值,目标DynAny的当前位置设置为零,对于没有组件的值,将其设置为-1。
        Specified by:
        assign在接口 DynAnyOperations
        参数
        dyn_any -
        异常
        TypeMismatch - 如果传递的DynAny的类型不等同于目标DynAny的类型
      • from_any

        public void from_any​(Any value)
                      throws TypeMismatch,
                             InvalidValue
        使用任何值中包含的值初始化与DynAny对象关联的值。 对于具有组件的值,目标DynAny的当前位置设置为零,对于没有组件的值,将其设置为-1。
        Specified by:
        from_any在接口 DynAnyOperations
        异常
        TypeMismatch - 如果传递的Any的类型不等同于目标DynAny的类型
        InvalidValue - 如果传递的任何不包含合法值(如空字符串)
      • to_any

        public Any to_any​()
        从DynAny对象创建任何值。 与DynAny对象关联的TypeCode的副本被分配给所得到的任何对象。 与DynAny对象相关联的值被复制到any中。
        Specified by:
        to_any在接口 DynAnyOperations
        结果
        一个新的具有相同值的Any对象和TypeCode
      • equal

        public boolean equal​(DynAny dyn_any)
        比较两个DynAny值以获得相等性。 如果它们的TypeCode是等效的,并且递归地,所有组件DynAnys具有相等的值,则两个DynAny值相等。 正在比较的两个DynAnys的当前位置对于相等的结果没有影响。
        Specified by:
        equal在接口 DynAnyOperations
        结果
        DynAnys的真实是相等的,否则为false
      • destroy

        public void destroy​()
        销毁DynAny对象。 此操作将释放用于表示与DynAny对象关联的数据值的任何资源。 必须对在ORB接口上的一个创建操作或DynAny.copy()返回的引用获得的引用进行调用,以避免资源泄漏。 对组件DynAny对象(例如,由current_component操作返回的对象)调用destroy将不执行任何操作。 破坏DynAny对象意味着从它获得的所有DynAny对象的破坏。 也就是说,对被破坏的DynAny的组件的引用变得无效。 对这些引用的调用会引发OBJECT_NOT_EXIST。 在销毁组件的DynAny之前,通过复制操作复制该组件,可以在DynAny的使用寿命期限之外操作DynAny的组件。
        Specified by:
        destroy在接口 DynAnyOperations
      • copy

        public DynAny copy​()
        创建一个新的DynAny对象,该对象的值是调用它的DynAny的深层副本。 操作是多态的,即在DynAny派生的类型之一(如DynStruct)中调用它,创建派生类型,但返回其作为DynAny基类型的引用。
        Specified by:
        copy在接口 DynAnyOperations
        结果
        DynAny对象的深层副本
      • insert_boolean

        public void insert_boolean​(boolean value)
                            throws TypeMismatch,
                                   InvalidValue
        在DynAny中插入一个布尔值。
        Specified by:
        insert_boolean在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_octet

        public void insert_octet​(byte value)
                          throws TypeMismatch,
                                 InvalidValue
        在DynAny中插入一个字节值。 IDL八位字节数据类型映射到Java字节数据类型。
        Specified by:
        insert_octet在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_char

        public void insert_char​(char value)
                         throws TypeMismatch,
                                InvalidValue
        在DynAny中插入一个char值。
        Specified by:
        insert_char在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_short

        public void insert_short​(short value)
                          throws TypeMismatch,
                                 InvalidValue
        在DynAny中插入一个简短的值。
        Specified by:
        insert_short在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_ushort

        public void insert_ushort​(short value)
                           throws TypeMismatch,
                                  InvalidValue
        在DynAny中插入一个简短的值。 IDL ushort数据类型映射到Java短数据类型。
        Specified by:
        insert_ushort在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_long

        public void insert_long​(int value)
                         throws TypeMismatch,
                                InvalidValue
        在DynAny中插入一个整数值。 IDL长数据类型映射到Java int数据类型。
        Specified by:
        insert_long在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_ulong

        public void insert_ulong​(int value)
                          throws TypeMismatch,
                                 InvalidValue
        在DynAny中插入一个整数值。 IDL ulong数据类型映射到Java int数据类型。
        Specified by:
        insert_ulong接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_float

        public void insert_float​(float value)
                          throws TypeMismatch,
                                 InvalidValue
        在DynAny中插入一个浮点值。
        Specified by:
        insert_float在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_double

        public void insert_double​(double value)
                           throws TypeMismatch,
                                  InvalidValue
        在DynAny中插入一个双重值。
        Specified by:
        insert_double在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_string

        public void insert_string​(String value)
                           throws TypeMismatch,
                                  InvalidValue
        在DynAny中插入一个字符串值。 使用此方法插入有界和无界的字符串。
        Specified by:
        insert_string在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        InvalidValue - 如果插入的字符串长于有界字符串的边界
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_reference

        public void insert_reference​(Object value)
                              throws TypeMismatch,
                                     InvalidValue
        将CORBA对象的引用插入到DynAny中。
        Specified by:
        insert_reference在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_typecode

        public void insert_typecode​(TypeCode value)
                             throws TypeMismatch,
                                    InvalidValue
        将TypeCode对象插入到DynAny中。
        Specified by:
        insert_typecode在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_longlong

        public void insert_longlong​(long value)
                             throws TypeMismatch,
                                    InvalidValue
        在DynAny中插入一个长的值。 IDL长长数据类型映射到Java长数据类型。
        Specified by:
        insert_longlong在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_ulonglong

        public void insert_ulonglong​(long value)
                              throws TypeMismatch,
                                     InvalidValue
        在DynAny中插入一个长的值。 IDL unsigned long long数据类型映射到Java long数据类型。
        Specified by:
        insert_ulonglong在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_wchar

        public void insert_wchar​(char value)
                          throws TypeMismatch,
                                 InvalidValue
        在DynAny中插入一个char值。 IDL wchar数据类型映射到Java字符数据类型。
        Specified by:
        insert_wchar在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_wstring

        public void insert_wstring​(String value)
                            throws TypeMismatch,
                                   InvalidValue
        在DynAny中插入一个字符串值。 使用此方法插入有界和无界的字符串。
        Specified by:
        insert_wstring在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        InvalidValue - 如果插入的字符串长于有界字符串的边界
        TypeMismatch
      • insert_any

        public void insert_any​(Any value)
                        throws TypeMismatch,
                               InvalidValue
        在此DynAny表示的Any中插入任何值。
        Specified by:
        insert_any在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_dyn_any

        public void insert_dyn_any​(DynAny value)
                            throws TypeMismatch,
                                   InvalidValue
        将包含在参数DynAny中的Any值插入到此DynAny表示的Any中。
        Specified by:
        insert_dyn_any在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • insert_val

        public void insert_val​(Serializable value)
                        throws TypeMismatch,
                               InvalidValue
        将可序列化对象的引用插入此DynAny。 IDL ValueBase类型映射到Java可序列化类型。
        Specified by:
        insert_val在接口 DynAnyOperations
        异常
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
      • get_boolean

        public boolean get_boolean​()
                            throws TypeMismatch,
                                   InvalidValue
        从此DynAny中提取布尔值。
        Specified by:
        get_boolean在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于所请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_octet

        public byte get_octet​()
                       throws TypeMismatch,
                              InvalidValue
        从此DynAny中提取字节值。 IDL八位字节数据类型映射到Java字节数据类型。
        Specified by:
        get_octet在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_char

        public char get_char​()
                      throws TypeMismatch,
                             InvalidValue
        从此DynAny中提取字符值。
        Specified by:
        get_char在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_short

        public short get_short​()
                        throws TypeMismatch,
                               InvalidValue
        从此DynAny中提取短值。
        Specified by:
        get_short接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于所请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_ushort

        public short get_ushort​()
                         throws TypeMismatch,
                                InvalidValue
        从此DynAny中提取短值。 IDL ushort数据类型映射到Java短数据类型。
        Specified by:
        get_ushort在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_long

        public int get_long​()
                     throws TypeMismatch,
                            InvalidValue
        从此DynAny中提取整数值。 IDL长数据类型映射到Java int数据类型。
        Specified by:
        get_long在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于所请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_ulong

        public int get_ulong​()
                      throws TypeMismatch,
                             InvalidValue
        从此DynAny中提取整数值。 IDL ulong数据类型映射到Java int数据类型。
        Specified by:
        get_ulong在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_float

        public float get_float​()
                        throws TypeMismatch,
                               InvalidValue
        从此DynAny中提取浮点值。
        Specified by:
        get_float在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_double

        public double get_double​()
                          throws TypeMismatch,
                                 InvalidValue
        从此DynAny中提取双重值。
        Specified by:
        get_double在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_string

        public String get_string​()
                          throws TypeMismatch,
                                 InvalidValue
        从此DynAny中提取字符串值。 使用这种方法提取有界和无界的字符串。
        Specified by:
        get_string在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_reference

        public Object get_reference​()
                             throws TypeMismatch,
                                    InvalidValue
        从此DynAny中提取对CORBA对象的引用。
        Specified by:
        get_reference在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_typecode

        public TypeCode get_typecode​()
                              throws TypeMismatch,
                                     InvalidValue
        从此DynAny中提取TypeCode对象。
        Specified by:
        get_typecode在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中所访问的组件的类型不等同于所请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_longlong

        public long get_longlong​()
                          throws TypeMismatch,
                                 InvalidValue
        从DynAny中提取长的值。 IDL长长数据类型映射到Java长数据类型。
        Specified by:
        get_longlong在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_ulonglong

        public long get_ulonglong​()
                           throws TypeMismatch,
                                  InvalidValue
        从DynAny中提取长的值。 IDL unsigned long long数据类型映射到Java long数据类型。
        Specified by:
        get_ulonglong在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_wchar

        public char get_wchar​()
                       throws TypeMismatch,
                              InvalidValue
        从DynAny中提取长的值。 IDL wchar数据类型映射到Java字符数据类型。
        Specified by:
        get_wchar在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_wstring

        public String get_wstring​()
                           throws TypeMismatch,
                                  InvalidValue
        从此DynAny中提取字符串值。 使用这种方法提取有界和无界的字符串。
        Specified by:
        get_wstring在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue
      • get_any

        public Any get_any​()
                    throws TypeMismatch,
                           InvalidValue
        提取由DynAny表示的Any中包含的任何值。
        Specified by:
        get_any在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_dyn_any

        public DynAny get_dyn_any​()
                           throws TypeMismatch,
                                  InvalidValue
        提取由该DynAny表示的Any中包含的Any值,并将其返回包装到新的DynAny中。
        Specified by:
        get_dyn_any在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于所请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • get_val

        public Serializable get_val​()
                             throws TypeMismatch,
                                    InvalidValue
        从此DynAny中提取可序列化的对象。 IDL ValueBase类型映射到Java可序列化类型。
        Specified by:
        get_val在接口 DynAnyOperations
        异常
        TypeMismatch - 如果DynAny中访问的组件的类型不等同于所请求的类型。
        TypeMismatch - 如果在当前组件本身具有组件的DynAny上调用
        InvalidValue - 如果此DynAny具有组件但当前位置为-1
      • seek

        public boolean seek​(int index)
        将当前位置设置为索引。 当前位置被索引为0到n-1,也就是说,索引零对应于第一个分量。 如果结果当前位置指示DynAny的一个组件,则该操作返回true,如果index表示与组件不对应的位置,则返回false。 以负指数来电寻求是合法的。 它将当前位置设置为-1,表示没有组件并返回false。 传递不具有相应位置的组件的DynAny的非负值索引值将当前位置设置为-1并返回false。
        Specified by:
        seek在接口 DynAnyOperations
      • next

        public boolean next​()
        将当前位置提前到下一个组件。 当结果当前位置指示组件时,操作返回true,否则返回false。 假返回值将当前位置保留为-1。 在没有组件的DynAny上调用next将当前位置保留为-1,并返回false。
        Specified by:
        next在接口 DynAnyOperations
      • component_count

        public int component_count​()
        返回DynAny的组件数。 对于没有组件的DynAny,它返回零。 操作仅计算顶层的组件。 例如,如果在具有单个成员的DynStruct上调用component_count,则返回值为1,而与成员的类型无关。
        • 对于序列,操作返回当前数量的元素。
        • 对于结构,异常和值类型,操作返回成员数。
        • 对于数组,操作返回元素的数量。
        • 对于工会,如果标识符指示命名成员处于活动状态,则操作返回2,否则返回1。
        • 对于DynFixed和DynEnum,操作返回零。
        Specified by:
        component_count在接口 DynAnyOperations
      • current_component

        public DynAny current_component​()
                                 throws TypeMismatch
        返回当前位置的组件的DynAny。 它不会提升当前的位置,所以重复调用current_component,而不需要中间呼叫来回滚,接下来或者寻求返回相同的组件。 返回的DynAny对象引用可用于获取/设置当前组件的值。 如果当前组件表示复杂类型,则可以根据TypeCode来缩小返回的引用以获取对应于复杂类型的接口。 调用不具有组件(如DynEnum或空异常)的DynAny上的current_component会引发TypeMismatch。 在当前位置为-1的DynAny上调用current_component返回零参考。 迭代操作与current_component一起可用于动态组合任何值。 创建动态后,可以使用DynStruct,current_component和next来初始化所有组件的值。 一旦动态值完全初始化,to_any将创建相应的任何值。
        Specified by:
        current_component在接口 DynAnyOperations
        异常
        TypeMismatch - 如果在没有组件的DynAny上调用,如DynEnum或空的异常
      • _ids

        public String[] _ids​()
        描述从类复制: ObjectImpl
        检索包含此ObjectImpl对象支持的存储库标识符的字符串数组。 例如,对于stub,此方法返回有关stub支持的所有接口的信息。
        Specified by:
        _idsObjectImpl
        结果
        ObjectImpl实例支持的所有存储库标识的数组