Frames | No Frames |
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: } 110: }