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

Class _DynValueStub

  • All Implemented Interfaces:
    SerializableObjectIDLEntityDynAnyDynAnyOperationsDynValueDynValueCommonDynValueCommonOperationsDynValueOperations


    public class _DynValueStub
    extends ObjectImpl
    implements DynValue
    DynValue对象支持IDL非盒装值类型的操作。 DynValue接口可以表示null和非null值类型。 对于表示非空值类型的DynValue,DynValue的组件按照定义的顺序包含值类型的公有成员和私有成员,包括从具体基类型继承的类型。 表示空值类型的DynValue没有组件,当前位置为-1。

    警告:不加区别地改变私有价值类型成员的内容可能导致价值类型实现通过违反内部约束而中断。 提供访问私有成员以支持ORB桥接和调试等活动,不应被用来任意违反价值类型的封装。

    • 字段详细信息

      • _opsClass

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

      • _DynValueStub

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

      • current_member_name

        public String current_member_name​()
                                   throws TypeMismatch,
                                          InvalidValue
        返回当前位置的成员名称。 此操作可能返回一个空字符串,因为被操作的值的TypeCode可能不包含成员的名称。
        Specified by:
        current_member_name在接口 DynValueOperations
        异常
        TypeMismatch - 如果DynValue表示空值类型。
        InvalidValue - 如果当前位置不表示成员
      • get_members

        public NameValuePair[] get_members​()
                                    throws InvalidValue
        返回一个NameValuePairs序列,描述值类型中每个成员的名称和值。 该序列包含与DynValue的TypeCode所指示的成员的声明顺序相同的成员。 当前位置不受影响。 如果DynValue的TypeCode不包含成员名称,则返回的序列中的成员名称将为空字符串。
        Specified by:
        get_members在接口 DynValueOperations
        异常
        InvalidValue - 如果此对象表示空值类型
      • set_members

        public void set_members​(NameValuePair[] value)
                         throws TypeMismatch,
                                InvalidValue
        从NameValuePairs序列初始化值类型的成员。 如果传递的序列具有非零长度,则操作将当前位置设置为零。 否则,如果通过一个空序列,当前位置被设置为-1。 可以使用此方法将空值类型初始化为非空值类型。

        成员必须按照DynValue的TypeCode所指示的值类型的IDL规范中出现的顺序出现在NameValuePairs中,或者它们必须是空字符串。 该操作不会尝试基于成员名称分配成员值。

        Specified by:
        set_members在接口 DynValueOperations
        异常
        TypeMismatch - 如果传递的序列中提供的成员名称与DynValue的TypeCode中的相应成员名称不匹配,并且它们不为空字符串
        InvalidValue - 如果传递的序列具有与DynValue的TypeCode所指示的成员数不一致的元素数
      • get_members_as_dyn_any

        public NameDynAnyPair[] get_members_as_dyn_any​()
                                                throws InvalidValue
        返回一个NameDynAnyPairs序列,描述值类型中每个成员的名称和值。 该序列包含与DynValue的TypeCode所指示的成员的声明顺序相同的成员。 当前位置不受影响。 如果DynValue的TypeCode不包含成员名称,则返回的序列中的成员名称将为空字符串。
        Specified by:
        get_members_as_dyn_any接口 DynValueOperations
        异常
        InvalidValue - 如果此对象表示空值类型
      • set_members_as_dyn_any

        public void set_members_as_dyn_any​(NameDynAnyPair[] value)
                                    throws TypeMismatch,
                                           InvalidValue
        从NameDynAnyPairs序列初始化值类型的成员。 如果传递的序列具有非零长度,则操作将当前位置设置为零。 否则,如果通过一个空序列,当前位置被设置为-1。 可以使用此方法将空值类型初始化为非空值类型。

        成员必须按照DynValue的TypeCode所指示的值类型的IDL规范出现的顺序出现在NameDynAnyPairs中,或者它们必须是空字符串。 该操作不会尝试基于成员名称分配成员值。

        Specified by:
        set_members_as_dyn_any在接口 DynValueOperations
        异常
        TypeMismatch - 如果传递的序列中提供的成员名称与DynValue的TypeCode中的相应成员名称不匹配,并且它们不为空字符串
        InvalidValue - 如果传递的序列具有与DynValue的TypeCode所指示的成员数不一致的元素数
      • set_to_value

        public void set_to_value​()
        用新构造的值替换空值类型。 它的组件被初始化为默认值,如DynAnyFactory.create_dyn_any_from_type_code。 如果DynValueCommon表示非空值类型,则此操作不起作用。
        Specified by:
        set_to_value在接口 DynValueCommonOperations
      • 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 - 如果传递的任何类型不等于目标DynAny的类型
        InvalidValue - 如果传递的Any不包含合法值(如空字符串)
      • 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:
        _ids ObjectImpl
        结果
        ObjectImpl实例支持的所有存储库标识的数组