- java.lang.Object
-
- org.omg.CORBA.portable.ObjectImpl
-
- org.omg.DynamicAny._DynAnyStub
-
- All Implemented Interfaces:
-
Serializable
,Object
,IDLEntity
,DynAny
,DynAnyOperations
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异常。
-
-
构造方法摘要
构造方法 Constructor 描述 _DynAnyStub()
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 String[]
_ids()
检索包含此ObjectImpl
对象支持的存储库标识符的字符串数组。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)
比较两个DynAny值以获得相等性。void
from_any(Any value)
使用任何值中包含的值初始化与DynAny对象关联的值。Any
get_any()
提取由DynAny表示的Any中包含的任何值。boolean
get_boolean()
从此DynAny中提取布尔值。char
get_char()
从此DynAny中提取字符值。double
get_double()
从此DynAny中提取双重值。DynAny
get_dyn_any()
提取由该DynAny表示的Any中包含的Any值,并将其返回包装到新的DynAny中。float
get_float()
从此DynAny中提取浮点值。int
get_long()
从此DynAny中提取整数值。long
get_longlong()
从DynAny中提取长的值。byte
get_octet()
从此DynAny中提取字节值。Object
get_reference()
从此DynAny中提取对CORBA对象的引用。short
get_short()
从此DynAny中提取短值。String
get_string()
从此DynAny中提取字符串值。TypeCode
get_typecode()
从此DynAny中提取TypeCode对象。int
get_ulong()
从此DynAny中提取整数值。long
get_ulonglong()
从DynAny中提取长的值。short
get_ushort()
从此DynAny中提取短值。Serializable
get_val()
从此DynAny中提取可序列化的对象。char
get_wchar()
从DynAny中提取长的值。String
get_wstring()
从此DynAny中提取字符串值。void
insert_any(Any value)
在此DynAny表示的Any中插入任何值。void
insert_boolean(boolean value)
在DynAny中插入一个布尔值。void
insert_char(char value)
在DynAny中插入一个char值。void
insert_double(double value)
在DynAny中插入一个双重值。void
insert_dyn_any(DynAny value)
将包含在参数DynAny中的Any值插入到此DynAny表示的Any中。void
insert_float(float value)
在DynAny中插入一个浮点值。void
insert_long(int value)
在DynAny中插入一个整数值。void
insert_longlong(long value)
在DynAny中插入一个长的值。void
insert_octet(byte value)
在DynAny中插入一个字节值。void
insert_reference(Object value)
将CORBA对象的引用插入到DynAny中。void
insert_short(short value)
在DynAny中插入一个简短的值。void
insert_string(String value)
在DynAny中插入一个字符串值。void
insert_typecode(TypeCode value)
将TypeCode对象插入到DynAny中。void
insert_ulong(int value)
在DynAny中插入一个整数值。void
insert_ulonglong(long value)
在DynAny中插入一个长的值。void
insert_ushort(short value)
在DynAny中插入一个简短的值。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)
将当前位置设置为索引。Any
to_any()
从DynAny对象创建任何值。TypeCode
type()
返回与此DynAny对象关联的TypeCode。-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.omg.CORBA.Object
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override
-
Methods inherited from class org.omg.CORBA.portable.ObjectImpl
_create_request, _create_request, _duplicate, _get_delegate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_delegate, _set_policy_override, equals, hashCode, toString
-
-
-
-
字段详细信息
-
_opsClass
public static final Class _opsClass
-
-
方法详细信息
-
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
-
rewind
public void rewind()
相当于seek(0)。- Specified by:
-
rewind
在接口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
实例支持的所有存储库标识的数组
-
-