28 import org.omg.CORBA.portable.Streamable; |
28 import org.omg.CORBA.portable.Streamable; |
29 import org.omg.CORBA.portable.InputStream; |
29 import org.omg.CORBA.portable.InputStream; |
30 import org.omg.CORBA.portable.OutputStream; |
30 import org.omg.CORBA.portable.OutputStream; |
31 |
31 |
32 /** |
32 /** |
33 * The Holder for <tt>TypeCode</tt>. For more information on |
33 * The Holder for {@code TypeCode}. For more information on |
34 * Holder files, see <a href="doc-files/generatedfiles.html#holder"> |
34 * Holder files, see <a href="doc-files/generatedfiles.html#holder"> |
35 * "Generated Files: Holder Files"</a>.<P> |
35 * "Generated Files: Holder Files"</a>.<P> |
36 * A Holder class for a <code>TypeCode</code> object |
36 * A Holder class for a {@code TypeCode} object |
37 * that is used to store "out" and "inout" parameters in IDL operations. |
37 * that is used to store "out" and "inout" parameters in IDL operations. |
38 * If an IDL operation signature has an IDL <code>TypeCode</code> as an "out" |
38 * If an IDL operation signature has an IDL {@code TypeCode} as an "out" |
39 * or "inout" parameter, the programmer must pass an instance of |
39 * or "inout" parameter, the programmer must pass an instance of |
40 * <code>TypeCodeHolder</code> as the corresponding |
40 * {@code TypeCodeHolder} as the corresponding |
41 * parameter in the method invocation; for "inout" parameters, the programmer |
41 * parameter in the method invocation; for "inout" parameters, the programmer |
42 * must also fill the "in" value to be sent to the server. |
42 * must also fill the "in" value to be sent to the server. |
43 * Before the method invocation returns, the ORB will fill in the |
43 * Before the method invocation returns, the ORB will fill in the |
44 * value corresponding to the "out" value returned from the server. |
44 * value corresponding to the "out" value returned from the server. |
45 * <P> |
45 * <P> |
46 * If <code>myTypeCodeHolder</code> is an instance of <code>TypeCodeHolder</code>, |
46 * If {@code myTypeCodeHolder} is an instance of {@code TypeCodeHolder}, |
47 * the value stored in its <code>value</code> field can be accessed with |
47 * the value stored in its {@code value} field can be accessed with |
48 * <code>myTypeCodeHolder.value</code>. |
48 * {@code myTypeCodeHolder.value}. |
49 * |
49 * |
50 * @since JDK1.2 |
50 * @since JDK1.2 |
51 */ |
51 */ |
52 public final class TypeCodeHolder implements Streamable { |
52 public final class TypeCodeHolder implements Streamable { |
53 |
53 |
54 /** |
54 /** |
55 * The <code>TypeCode</code> value held by |
55 * The {@code TypeCode} value held by |
56 * this <code>TypeCodeHolder</code> object. |
56 * this {@code TypeCodeHolder} object. |
57 */ |
57 */ |
58 public TypeCode value; |
58 public TypeCode value; |
59 |
59 |
60 /** |
60 /** |
61 * Constructs a new <code>TypeCodeHolder</code> object with its |
61 * Constructs a new {@code TypeCodeHolder} object with its |
62 * <code>value</code> field initialized to <code>null</code>. |
62 * {@code value} field initialized to {@code null}. |
63 */ |
63 */ |
64 public TypeCodeHolder() { |
64 public TypeCodeHolder() { |
65 } |
65 } |
66 |
66 |
67 /** |
67 /** |
68 * Constructs a new <code>TypeCodeHolder</code> object with its |
68 * Constructs a new {@code TypeCodeHolder} object with its |
69 * <code>value</code> field initialized to the given |
69 * {@code value} field initialized to the given |
70 * <code>TypeCode</code> object. |
70 * {@code TypeCode} object. |
71 * @param initial the <code>TypeCode</code> object with which to initialize |
71 * @param initial the {@code TypeCode} object with which to initialize |
72 * the <code>value</code> field of the newly-created |
72 * the {@code value} field of the newly-created |
73 * <code>TypeCodeHolder</code> object |
73 * {@code TypeCodeHolder} object |
74 */ |
74 */ |
75 public TypeCodeHolder(TypeCode initial) { |
75 public TypeCodeHolder(TypeCode initial) { |
76 value = initial; |
76 value = initial; |
77 } |
77 } |
78 |
78 |
79 /** |
79 /** |
80 * Reads from <code>input</code> and initalizes the value in |
80 * Reads from {@code input} and initalizes the value in |
81 * this <code>TypeCodeHolder</code> object |
81 * this {@code TypeCodeHolder} object |
82 * with the unmarshalled data. |
82 * with the unmarshalled data. |
83 * |
83 * |
84 * @param input the InputStream containing CDR formatted data from the wire |
84 * @param input the InputStream containing CDR formatted data from the wire |
85 */ |
85 */ |
86 public void _read(InputStream input) { |
86 public void _read(InputStream input) { |
87 value = input.read_TypeCode(); |
87 value = input.read_TypeCode(); |
88 } |
88 } |
89 |
89 |
90 /** |
90 /** |
91 * Marshals to <code>output</code> the value in |
91 * Marshals to {@code output} the value in |
92 * this <code>TypeCodeHolder</code> object. |
92 * this {@code TypeCodeHolder} object. |
93 * |
93 * |
94 * @param output the OutputStream which will contain the CDR formatted data |
94 * @param output the OutputStream which will contain the CDR formatted data |
95 */ |
95 */ |
96 public void _write(OutputStream output) { |
96 public void _write(OutputStream output) { |
97 output.write_TypeCode(value); |
97 output.write_TypeCode(value); |
98 } |
98 } |
99 |
99 |
100 /** |
100 /** |
101 * Returns the TypeCode corresponding to the value held in |
101 * Returns the TypeCode corresponding to the value held in |
102 * this <code>TypeCodeHolder</code> object. |
102 * this {@code TypeCodeHolder} object. |
103 * |
103 * |
104 * @return the TypeCode of the value held in |
104 * @return the TypeCode of the value held in |
105 * this <code>TypeCodeHolder</code> object |
105 * this {@code TypeCodeHolder} object |
106 */ |
106 */ |
107 public org.omg.CORBA.TypeCode _type() { |
107 public org.omg.CORBA.TypeCode _type() { |
108 return ORB.init().get_primitive_tc(TCKind.tk_TypeCode); |
108 return ORB.init().get_primitive_tc(TCKind.tk_TypeCode); |
109 } |
109 } |
110 } |
110 } |