Source for org.omg.IOP.TaggedProfile

   1: /* TaggedProfile.java --
   2:    Copyright (C) 2005, 2006 Free Software Foundation, Inc.
   3: 
   4: This file is part of GNU Classpath.
   5: 
   6: GNU Classpath is free software; you can redistribute it and/or modify
   7: it under the terms of the GNU General Public License as published by
   8: the Free Software Foundation; either version 2, or (at your option)
   9: any later version.
  10: 
  11: GNU Classpath is distributed in the hope that it will be useful, but
  12: WITHOUT ANY WARRANTY; without even the implied warranty of
  13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14: General Public License for more details.
  15: 
  16: You should have received a copy of the GNU General Public License
  17: along with GNU Classpath; see the file COPYING.  If not, write to the
  18: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  19: 02110-1301 USA.
  20: 
  21: Linking this library statically or dynamically with other modules is
  22: making a combined work based on this library.  Thus, the terms and
  23: conditions of the GNU General Public License cover the whole
  24: combination.
  25: 
  26: As a special exception, the copyright holders of this library give you
  27: permission to link this library with independent modules to produce an
  28: executable, regardless of the license terms of these independent
  29: modules, and to copy and distribute the resulting executable under
  30: terms of your choice, provided that you also meet, for each linked
  31: independent module, the terms and conditions of the license of that
  32: module.  An independent module is a module which is not derived from
  33: or based on this library.  If you modify this library, you may extend
  34: this exception to your version of the library, but you are not
  35: obligated to do so.  If you do not wish to do so, delete this
  36: exception statement from your version. */
  37: 
  38: 
  39: package org.omg.IOP;
  40: 
  41: import org.omg.CORBA.portable.IDLEntity;
  42: 
  43: import java.io.Serializable;
  44: 
  45: /**
  46: * The TaggedProfile if part of the {@link IOR}, defining a single specific
  47: * aspect of the object related information. The content of profile depends
  48: * on this information. It is represented here just as an array of
  49: * bytes. The OMG currently defines three types of the tagged profile:
  50: * <ul>
  51: * <li>The Internet profile, identified by {@link TAG_INTERNET_IOP},
  52: * supports the Internet Inter-ORB Protocol.
  53: * </li>
  54: * <li>The Multiple Components profile, identified by
  55: * {@link TAG_MULTIPLE_COMPONENTS}, may be used to carry various IOR
  56: * tagged components.
  57: * <li>
  58: * </li>
  59: * <li>The SCCP IOP profile (described in OMG CORBA/IN Interworking
  60: * specification).</li>
  61: * </ul>
  62: *
  63: * The tagged profile may have its internal tagged components. The examples
  64: * of the possible components inside the tag are {@link TAG_CODE_SETS},
  65: * {@link TAG_ALTERNATE_IIOP_ADDRESS},  {@link TAG_JAVA_CODEBASE},
  66: * {@link TAG_ORB_TYPE} and {@link TAG_POLICIES}. The complete list can only
  67: * be found in OMG specification. Some of them occur only once
  68: * (in the same TaggedProfile), others can be repeated.
  69: *
  70: * @see TaggedProfileHolder
  71: * @see TaggedProfileHelper
  72: *
  73: * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
  74: */
  75: public final class TaggedProfile
  76:   implements IDLEntity, Serializable
  77: {
  78:   /**
  79:    * Use serialVersionUID (v1.4) for interoperability.
  80:    */
  81:   private static final long serialVersionUID = -461232684387903343L;
  82: 
  83:   /**
  84:    * The integer tag identifier, typically one of TAG_INTERNET_IOP.value or
  85:    * TAG_MULTIPLE_COMPONENTS.value.
  86:    */
  87:   public int tag;
  88: 
  89:   /**
  90:    * The profile_data, represented here in the form of the array of bytes.
  91:    */
  92:   public byte[] profile_data;
  93: 
  94:   /**
  95:    * Create the unitialised instance, assigning to
  96:    * the all fields java default values.
  97:    */
  98:   public TaggedProfile()
  99:   {
 100:   }
 101: 
 102:   /**
 103:    * Create the instance, initialising the fields to the given values.
 104:    */
 105:   public TaggedProfile(int a_tag, byte[] a_profile_data)
 106:   {
 107:     tag = a_tag;
 108:     profile_data = a_profile_data;
 109:   }