1 /*
   2  * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package org.omg.CORBA;
  27 
  28 /**
  29  * The Holder for {@code ServiceInformation}. For more information on
  30  * Holder files, see <a href="doc-files/generatedfiles.html#holder">
  31  * "Generated Files: Holder Files"</a>.<P>
  32  * A Holder class for a {@code ServiceInformation} object
  33  * that is used to store "out" and "inout" parameters in IDL methods.
  34  * If an IDL method signature has an IDL {@code xxx} as an "out"
  35  * or "inout" parameter, the programmer must pass an instance of
  36  * {@code ServiceInformationHolder} as the corresponding
  37  * parameter in the method invocation; for "inout" parameters, the programmer
  38  * must also fill the "in" value to be sent to the server.
  39  * Before the method invocation returns, the ORB will fill in the
  40  * value corresponding to the "out" value returned from the server.
  41  * <P>
  42  * If {@code myServiceInformationHolder} is an instance of {@code ServiceInformationHolder},
  43  * the value stored in its {@code value} field can be accessed with
  44  * {@code myServiceInformationHolder.value}.
  45  */
  46 public final class ServiceInformationHolder
  47     implements org.omg.CORBA.portable.Streamable {
  48 
  49     /**
  50      * The {@code ServiceInformation} value held by this
  51      * {@code ServiceInformationHolder} object in its {@code value} field.
  52      */
  53     public ServiceInformation value;
  54 
  55     /**
  56      * Constructs a new {@code ServiceInformationHolder} object with its
  57      * {@code value} field initialized to null.
  58      */
  59     public ServiceInformationHolder() {
  60         this(null);
  61     }
  62 
  63     /**
  64      * Constructs a new {@code ServiceInformationHolder} object with its
  65      * {@code value} field initialized to the given
  66      * {@code ServiceInformation} object.
  67      *
  68      * @param arg the {@code ServiceInformation} object with which to initialize
  69      *                the {@code value} field of the newly-created
  70      *                {@code ServiceInformationHolder} object
  71      */
  72     public ServiceInformationHolder(org.omg.CORBA.ServiceInformation arg) {
  73         value = arg;
  74     }
  75 
  76 
  77     /**
  78      * Marshals the value in this {@code ServiceInformationHolder} object's
  79      * {@code value} field to the output stream {@code out}.
  80      *
  81      * @param out the {@code OutputStream} object that will contain
  82      *               the CDR formatted data
  83      */
  84     public void _write(org.omg.CORBA.portable.OutputStream out) {
  85         org.omg.CORBA.ServiceInformationHelper.write(out, value);
  86     }
  87 
  88     /**
  89      * Reads unmarshalled data from the input stream {@code in} and assigns it to
  90      * the {@code value} field in this {@code ServiceInformationHolder} object.
  91      *
  92      * @param in the {@code InputStream} object containing CDR
  93      *              formatted data from the wire
  94      */
  95     public void _read(org.omg.CORBA.portable.InputStream in) {
  96         value = org.omg.CORBA.ServiceInformationHelper.read(in);
  97     }
  98 
  99     /**
 100      * Retrieves the {@code TypeCode} object that corresponds
 101      * to the value held in this {@code ServiceInformationHolder} object's
 102      * {@code value} field.
 103      *
 104      * @return    the type code for the value held in this {@code ServiceInformationHolder}
 105      *            object
 106      */
 107     public org.omg.CORBA.TypeCode _type() {
 108         return org.omg.CORBA.ServiceInformationHelper.type();
 109     }
 110 }