/*
* Copyright (c) 1996, 2001, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package org.omg.CORBA;
import org.omg.CORBA.portable.Streamable;
import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.OutputStream;
The Holder for Any
. For more information on Holder files, see
"Generated Files: Holder Files". A Holder class for Any
objects that is used to store "out" and "inout" parameters in IDL methods. If an IDL method signature has an IDL any
as an "out" or "inout" parameter, the programmer must pass an instance of AnyHolder
as the corresponding parameter in the method invocation; for "inout" parameters, the programmer must also fill the "in" value to be sent to the server. Before the method invocation returns, the ORB will fill in the value corresponding to the "out" value returned from the server.
If myAnyHolder
is an instance of AnyHolder
, the value stored in its value
field can be accessed with myAnyHolder.value
.
Since: JDK1.2
/**
* The Holder for {@code Any}. For more information on
* Holder files, see <a href="doc-files/generatedfiles.html#holder">
* "Generated Files: Holder Files"</a>.<P>
* A Holder class for {@code Any} objects
* that is used to store "out" and "inout" parameters in IDL methods.
* If an IDL method signature has an IDL {@code any} as an "out"
* or "inout" parameter, the programmer must pass an instance of
* {@code AnyHolder} as the corresponding
* parameter in the method invocation; for "inout" parameters, the programmer
* must also fill the "in" value to be sent to the server.
* Before the method invocation returns, the ORB will fill in the
* value corresponding to the "out" value returned from the server.
* <P>
* If {@code myAnyHolder} is an instance of {@code AnyHolder},
* the value stored in its {@code value} field can be accessed with
* {@code myAnyHolder.value}.
*
* @since JDK1.2
*/
public final class AnyHolder implements Streamable {
The Any
value held by this AnyHolder
object. /**
* The {@code Any} value held by this {@code AnyHolder} object.
*/
public Any value;
Constructs a new AnyHolder
object with its value
field initialized to null
. /**
* Constructs a new {@code AnyHolder} object with its
* {@code value} field initialized to {@code null}.
*/
public AnyHolder() {
}
Constructs a new AnyHolder
object for the given Any
object. Params: - initial – the
Any
object with which to initialize the value
field of the new AnyHolder
object
/**
* Constructs a new {@code AnyHolder} object for the given
* {@code Any} object.
* @param initial the {@code Any} object with which to initialize
* the {@code value} field of the new
* {@code AnyHolder} object
*/
public AnyHolder(Any initial) {
value = initial;
}
Reads from input
and initalizes the value in the Holder with the unmarshalled data. Params: - input – the InputStream containing CDR formatted data from the wire.
/**
* Reads from {@code input} and initalizes the value in the Holder
* with the unmarshalled data.
*
* @param input the InputStream containing CDR formatted data from the wire.
*/
public void _read(InputStream input) {
value = input.read_any();
}
Marshals to output
the value in this AnyHolder
object. Params: - output – the OutputStream which will contain the CDR formatted data.
/**
* Marshals to {@code output} the value in
* this {@code AnyHolder} object.
*
* @param output the OutputStream which will contain the CDR formatted data.
*/
public void _write(OutputStream output) {
output.write_any(value);
}
Returns the TypeCode
object corresponding to the value held in this AnyHolder
object. Returns: the TypeCode of the value held in this AnyHolder
object
/**
* Returns the {@code TypeCode} object corresponding to the value
* held in this {@code AnyHolder} object.
*
* @return the TypeCode of the value held in
* this {@code AnyHolder} object
*/
public TypeCode _type() {
return ORB.init().get_primitive_tc(TCKind.tk_any);
}
}