- java.lang.Object
-
- org.omg.CORBA.portable.ObjectImpl
-
- org.omg.DynamicAny._DynAnyFactoryStub
-
- All Implemented Interfaces:
-
Serializable
,Object
,IDLEntity
,DynAnyFactory
,DynAnyFactoryOperations
public class _DynAnyFactoryStub extends ObjectImpl implements DynAnyFactory
可以通过调用DynAnyFactory对象上的操作来创建DynAny对象。 通常只有两种方法来创建DynAny对象:- 调用对现有DynAny对象的操作
- 在DynAnyFactory对象上调用操作
任何动态解释通常涉及使用create_dyn_any()作为第一步创建DynAny对象。 根据任何类型,可以将生成的DynAny对象引用缩小为DynFixed,DynStruct,DynSequence,DynArray,DynUnion,DynEnum或DynValue对象引用。
任何动态创建涉及使用create_dyn_any_from_type_code()创建DynAny对象,传递与要创建的值相关联的TypeCode。 返回的引用被缩小为一个复杂类型,如DynStruct(如果适用)。 然后,可以通过调用对结果对象的操作来初始化该值。 最后,可以调用to_any操作以从构造的DynAny创建任何值。
-
-
构造方法摘要
构造方法 Constructor 描述 _DynAnyFactoryStub()
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 String[]
_ids()
检索包含此ObjectImpl
对象支持的存储库标识符的字符串数组。DynAny
create_dyn_any(Any value)
从任何值创建一个新的DynAny对象。DynAny
create_dyn_any_from_type_code(TypeCode type)
从TypeCode创建DynAny。-
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
-
-
方法详细信息
-
create_dyn_any
public DynAny create_dyn_any(Any value) throws InconsistentTypeCode
从任何值创建一个新的DynAny对象。 与任何值相关联的TypeCode的副本将分配给生成的DynAny对象。 与DynAny对象相关联的值是原始值中的值的副本。 如果传递的值具有组件,则创建的DynAny的当前位置将设置为零,否则为-1- Specified by:
-
create_dyn_any
在接口DynAnyFactoryOperations
- 异常
-
InconsistentTypeCode
- 如果value具有TCKind为tk_Principal,tk_native或tk_abstract_interface的TypeCode
-
create_dyn_any_from_type_code
public DynAny create_dyn_any_from_type_code(TypeCode type) throws InconsistentTypeCode
从TypeCode创建DynAny。 根据TypeCode,创建的对象可以是DynAny类型,也可以是其派生类型之一,如DynStruct。 返回的引用可以缩小为派生类型。 在所有情况下,从TypeCode构造的DynAny具有初始默认值。 基本类型的默认值为:- 对于布尔值为false
- 数字类型为零
- 零类型为八位字节,char和wchar
- 字符串和wstring的空字符串
- 对象引用为null
- 类型代码,类型代码的TCKind值为tk_null
- 对于任何值,任何包含TCKind值为tk_null类型的代码,不包含值
- 对于DynSequence,它将当前位置设置为-1,并创建一个空序列。
- 对于DynEnum,它将当前位置设置为-1,并将枚举器的值设置为TypeCode指示的第一个枚举器值。
- 对于DynFixed,它将当前位置设置为-1,并将值设置为零。
- 对于DynStruct,它为空异常设置当前位置为-1,对所有其他TypeCode设置为零。 成员(如果有的话)(递归地)被初始化为它们的默认值。
- 对于DynArray,将当前位置设置为零,(递归)将元素初始化为其默认值。
- 对于DynUnion,将当前位置设置为零。 鉴别器值被设置为与联合的第一个已命名成员一致的值。 该成员被激活并被递归地初始化为其默认值。
- 对于DynValue和DynValueBox,它将初始化为一个空值。
- Specified by:
-
create_dyn_any_from_type_code
在接口DynAnyFactoryOperations
- 异常
-
InconsistentTypeCode
-
_ids
public String[] _ids()
描述从类别复制:ObjectImpl
检索包含此ObjectImpl
对象支持的存储库标识符的字符串数组。 例如,对于stub,此方法返回有关stub支持的所有接口的信息。- Specified by:
-
_ids
在ObjectImpl
- 结果
-
该
ObjectImpl
实例支持的所有存储库标识的数组
-
-