- java.lang.Object
-
- org.omg.CORBA.NamedValue
-
public abstract class NamedValue extends Object
DII和DSI中使用的对象来描述参数和返回值。NamedValue
对象也用于Context
对象例程中传递属性名和值的列表。一个
NamedValue
对象包含:- 一个名称 - 如果
NamedValue
对象用于描述请求的参数,则该名称将是OMG IDL接口定义中为要描述的操作定义的参数标识符。 - 一个值 - 一个
Any
对象 - 参数模式标志 - 以下之一:
-
ARG_IN.value
-
ARG_OUT.value
-
ARG_INOUT.value
- 零-如果此
NamedValue
对象表示一个属性Context
对象,而不是参数或返回值
-
NamedValue
有三种访问其领域的方法。 以下代码片段演示如何创建一个NamedValue
对象,然后访问其字段:ORB orb = ORB.init(args, null); String s = "argument_1"; org.omg.CORBA.Any myAny = orb.create_any(); myAny.insert_long(12345); int in = org.omg.CORBA.ARG_IN.value; org.omg.CORBA.NamedValue nv = orb.create_named_value( s, myAny, in); System.out.println("This nv name is " + nv.name()); try { System.out.println("This nv value is " + nv.value().extract_long()); System.out.println("This nv flag is " + nv.flags()); } catch (org.omg.CORBA.BAD_OPERATION b) { System.out.println("extract failed"); }
如果这个代码片段被放入一个
main
方法中,输出结果将如下所示:This nv name is argument_1 This nv value is 12345 This nv flag is 1
请注意,方法
value
返回一个Any
对象。 为了访问所述long
包含在Any
对象,我们使用的方法extract_long
。 - 一个名称 - 如果