29 import org.omg.CORBA.portable.Streamable; |
29 import org.omg.CORBA.portable.Streamable; |
30 import org.omg.CORBA.portable.InputStream; |
30 import org.omg.CORBA.portable.InputStream; |
31 import org.omg.CORBA.portable.OutputStream; |
31 import org.omg.CORBA.portable.OutputStream; |
32 |
32 |
33 /** |
33 /** |
34 * The Holder for <tt>Char</tt>. For more information on |
34 * The Holder for {@code Char}. For more information on |
35 * Holder files, see <a href="doc-files/generatedfiles.html#holder"> |
35 * Holder files, see <a href="doc-files/generatedfiles.html#holder"> |
36 * "Generated Files: Holder Files"</a>.<P> |
36 * "Generated Files: Holder Files"</a>.<P> |
37 * A Holder class for a <code>char</code> |
37 * A Holder class for a {@code char} |
38 * that is used to store "out" and "inout" parameters in IDL methods. |
38 * that is used to store "out" and "inout" parameters in IDL methods. |
39 * If an IDL method signature has an IDL <code>char</code> as an "out" |
39 * If an IDL method signature has an IDL {@code char} as an "out" |
40 * or "inout" parameter, the programmer must pass an instance of |
40 * or "inout" parameter, the programmer must pass an instance of |
41 * <code>CharHolder</code> as the corresponding |
41 * {@code CharHolder} as the corresponding |
42 * parameter in the method invocation; for "inout" parameters, the programmer |
42 * parameter in the method invocation; for "inout" parameters, the programmer |
43 * must also fill the "in" value to be sent to the server. |
43 * must also fill the "in" value to be sent to the server. |
44 * Before the method invocation returns, the ORB will fill in the |
44 * Before the method invocation returns, the ORB will fill in the |
45 * value corresponding to the "out" value returned from the server. |
45 * value corresponding to the "out" value returned from the server. |
46 * <P> |
46 * <P> |
47 * If <code>myCharHolder</code> is an instance of <code>CharHolder</code>, |
47 * If {@code myCharHolder} is an instance of {@code CharHolder}, |
48 * the value stored in its <code>value</code> field can be accessed with |
48 * the value stored in its {@code value} field can be accessed with |
49 * <code>myCharHolder.value</code>. |
49 * {@code myCharHolder.value}. |
50 * |
50 * |
51 * @since JDK1.2 |
51 * @since JDK1.2 |
52 */ |
52 */ |
53 public final class CharHolder implements Streamable { |
53 public final class CharHolder implements Streamable { |
54 |
54 |
55 /** |
55 /** |
56 * The <code>char</code> value held by this <code>CharHolder</code> |
56 * The {@code char} value held by this {@code CharHolder} |
57 * object. |
57 * object. |
58 */ |
58 */ |
59 public char value; |
59 public char value; |
60 |
60 |
61 /** |
61 /** |
62 * Constructs a new <code>CharHolder</code> object with its |
62 * Constructs a new {@code CharHolder} object with its |
63 * <code>value</code> field initialized to <code>0</code>. |
63 * {@code value} field initialized to {@code 0}. |
64 */ |
64 */ |
65 public CharHolder() { |
65 public CharHolder() { |
66 } |
66 } |
67 |
67 |
68 /** |
68 /** |
69 * Constructs a new <code>CharHolder</code> object for the given |
69 * Constructs a new {@code CharHolder} object for the given |
70 * <code>char</code>. |
70 * {@code char}. |
71 * @param initial the <code>char</code> with which to initialize |
71 * @param initial the {@code char} with which to initialize |
72 * the <code>value</code> field of the new |
72 * the {@code value} field of the new |
73 * <code>CharHolder</code> object |
73 * {@code CharHolder} object |
74 */ |
74 */ |
75 public CharHolder(char initial) { |
75 public CharHolder(char 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>CharHolder</code> object |
81 * this {@code CharHolder} 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_char(); |
87 value = input.read_char(); |
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>CharHolder</code> object. |
92 * this {@code CharHolder} 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_char(value); |
97 output.write_char(value); |
98 } |
98 } |
99 |
99 |
100 /** |
100 /** |
101 * Returns the <code>TypeCode</code> object corresponding |
101 * Returns the {@code TypeCode} object corresponding |
102 * to the value held in |
102 * to the value held in |
103 * this <code>CharHolder</code> object. |
103 * this {@code CharHolder} object. |
104 * |
104 * |
105 * @return the TypeCode of the value held in |
105 * @return the TypeCode of the value held in |
106 * this <code>CharHolder</code> object |
106 * this {@code CharHolder} object |
107 */ |
107 */ |
108 public org.omg.CORBA.TypeCode _type() { |
108 public org.omg.CORBA.TypeCode _type() { |
109 return ORB.init().get_primitive_tc(TCKind.tk_char); |
109 return ORB.init().get_primitive_tc(TCKind.tk_char); |
110 } |
110 } |
111 } |
111 } |