An object used in the DII and DSI to describe
arguments and return values. NamedValue objects
are also used in the Context
object routines to pass lists of property names and values.
A NamedValue object contains:
- a name -- If the
NamedValue object is used to
describe arguments to a request, the name will be an argument
identifier specified in the OMG IDL interface definition
for the operation being described.
- a value -- an
Any object
- an argument mode flag -- one of the following:
ARG_IN.value
ARG_OUT.value
ARG_INOUT.value
- zero -- if this
NamedValue object represents a property
in a Context object rather than a parameter or
return value
The class NamedValue has three methods, which
access its fields. The following code fragment demonstrates
creating a NamedValue object and then accessing
its fields:
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");
}
If this code fragment were put into a main method,
the output would be something like the following:
This nv name is argument_1
This nv value is 12345
This nv flag is 1
Note that the method value returns an Any
object. In order to access the long contained in the
Any object,
we used the method extract_long . |