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>Byte</tt>. For more information on |
34 * The Holder for {@code Byte}. 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>byte</code> |
37 * A Holder class for a {@code byte} |
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>octet</code> as an "out" |
39 * If an IDL method signature has an IDL {@code octet} 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>ByteHolder</code> as the corresponding |
41 * {@code ByteHolder} 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>myByteHolder</code> is an instance of <code>ByteHolder</code>, |
47 * If {@code myByteHolder} is an instance of {@code ByteHolder}, |
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>myByteHolder.value</code>. |
49 * {@code myByteHolder.value}. |
50 * |
50 * |
51 * @since JDK1.2 |
51 * @since JDK1.2 |
52 */ |
52 */ |
53 public final class ByteHolder implements Streamable { |
53 public final class ByteHolder implements Streamable { |
54 /** |
54 /** |
55 * The <code>byte</code> value held by this <code>ByteHolder</code> |
55 * The {@code byte} value held by this {@code ByteHolder} |
56 * object. |
56 * object. |
57 */ |
57 */ |
58 |
58 |
59 public byte value; |
59 public byte value; |
60 |
60 |
61 /** |
61 /** |
62 * Constructs a new <code>ByteHolder</code> object with its |
62 * Constructs a new {@code ByteHolder} object with its |
63 * <code>value</code> field initialized to 0. |
63 * {@code value} field initialized to 0. |
64 */ |
64 */ |
65 public ByteHolder() { |
65 public ByteHolder() { |
66 } |
66 } |
67 |
67 |
68 /** |
68 /** |
69 * Constructs a new <code>ByteHolder</code> object for the given |
69 * Constructs a new {@code ByteHolder} object for the given |
70 * <code>byte</code>. |
70 * {@code byte}. |
71 * @param initial the <code>byte</code> with which to initialize |
71 * @param initial the {@code byte} with which to initialize |
72 * the <code>value</code> field of the new |
72 * the {@code value} field of the new |
73 * <code>ByteHolder</code> object |
73 * {@code ByteHolder} object |
74 */ |
74 */ |
75 public ByteHolder(byte initial) { |
75 public ByteHolder(byte 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>ByteHolder</code> object |
81 * this {@code ByteHolder} 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_octet(); |
87 value = input.read_octet(); |
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>ByteHolder</code> object. |
92 * this {@code ByteHolder} 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_octet(value); |
97 output.write_octet(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>ByteHolder</code> object. |
102 * this {@code ByteHolder} object. |
103 * |
103 * |
104 * @return the TypeCode of the value held in |
104 * @return the TypeCode of the value held in |
105 * this <code>ByteHolder</code> object |
105 * this {@code ByteHolder} 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_octet); |
108 return ORB.init().get_primitive_tc(TCKind.tk_octet); |
109 } |
109 } |
110 } |
110 } |