public abstract class NamedValue extends Object
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
。