- /*
- * @(#)TargetAddressHelper.java 1.6 03/01/23
- *
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-
- package com.sun.corba.se.internal.iiop.messages;
-
-
- /**
- * com/sun/corba/se/internal/iiop/messages/TargetAddressHelper.java
- * Generated by the IDL-to-Java compiler (portable), version "3.0"
- * from ../../../../../../../src/share/classes/com/sun/corba/se/GiopIDL/g.idl
- * Sunday, June 4, 2000 5:18:54 PM PDT
- */
-
- abstract public class TargetAddressHelper
- {
- private static String _id = "IDL:messages/TargetAddress:1.0";
-
- public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.internal.iiop.messages.TargetAddress that)
- {
- org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
- a.type (type ());
- write (out, that);
- a.read_value (out.create_input_stream (), type ());
- }
-
- public static com.sun.corba.se.internal.iiop.messages.TargetAddress extract (org.omg.CORBA.Any a)
- {
- return read (a.create_input_stream ());
- }
-
- private static org.omg.CORBA.TypeCode __typeCode = null;
- synchronized public static org.omg.CORBA.TypeCode type ()
- {
- if (__typeCode == null)
- {
- org.omg.CORBA.TypeCode _disTypeCode0;
- _disTypeCode0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_short);
- _disTypeCode0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.internal.iiop.messages.AddressingDispositionHelper.id (), "AddressingDisposition", _disTypeCode0);
- org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember [3];
- org.omg.CORBA.TypeCode _tcOf_members0;
- org.omg.CORBA.Any _anyOf_members0;
-
- // Branch for object_key
- _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any ();
- _anyOf_members0.insert_short ((short)com.sun.corba.se.internal.iiop.messages.KeyAddr.value);
- _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_octet);
- _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
- _members0[0] = new org.omg.CORBA.UnionMember (
- "object_key",
- _anyOf_members0,
- _tcOf_members0,
- null);
-
- // Branch for profile
- _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any ();
- _anyOf_members0.insert_short ((short)com.sun.corba.se.internal.iiop.messages.ProfileAddr.value);
- _tcOf_members0 = org.omg.IOP.TaggedProfileHelper.type ();
- _members0[1] = new org.omg.CORBA.UnionMember (
- "profile",
- _anyOf_members0,
- _tcOf_members0,
- null);
-
- // Branch for ior
- _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any ();
- _anyOf_members0.insert_short ((short)com.sun.corba.se.internal.iiop.messages.ReferenceAddr.value);
- _tcOf_members0 = com.sun.corba.se.internal.iiop.messages.IORAddressingInfoHelper.type ();
- _members0[2] = new org.omg.CORBA.UnionMember (
- "ior",
- _anyOf_members0,
- _tcOf_members0,
- null);
- __typeCode = org.omg.CORBA.ORB.init ().create_union_tc (com.sun.corba.se.internal.iiop.messages.TargetAddressHelper.id (), "TargetAddress", _disTypeCode0, _members0);
- }
- return __typeCode;
- }
-
- public static String id ()
- {
- return _id;
- }
-
- public static com.sun.corba.se.internal.iiop.messages.TargetAddress read (org.omg.CORBA.portable.InputStream istream)
- {
- com.sun.corba.se.internal.iiop.messages.TargetAddress value = new com.sun.corba.se.internal.iiop.messages.TargetAddress ();
- short _dis0 = (short)0;
- _dis0 = istream.read_short ();
- switch (_dis0)
- {
- case com.sun.corba.se.internal.iiop.messages.KeyAddr.value:
- byte _object_key[] = null;
- int _len1 = istream.read_long ();
- _object_key = new byte[_len1];
- istream.read_octet_array (_object_key, 0, _len1);
- value.object_key (_object_key);
- break;
- case com.sun.corba.se.internal.iiop.messages.ProfileAddr.value:
- org.omg.IOP.TaggedProfile _profile = null;
- _profile = org.omg.IOP.TaggedProfileHelper.read (istream);
- value.profile (_profile);
- break;
- case com.sun.corba.se.internal.iiop.messages.ReferenceAddr.value:
- com.sun.corba.se.internal.iiop.messages.IORAddressingInfo _ior = null;
- _ior = com.sun.corba.se.internal.iiop.messages.IORAddressingInfoHelper.read (istream);
- value.ior (_ior);
- break;
- default:
- throw new org.omg.CORBA.BAD_OPERATION ();
- }
- return value;
- }
-
- public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.internal.iiop.messages.TargetAddress value)
- {
- ostream.write_short (value.discriminator ());
- switch (value.discriminator ())
- {
- case com.sun.corba.se.internal.iiop.messages.KeyAddr.value:
- ostream.write_long (value.object_key ().length);
- ostream.write_octet_array (value.object_key (), 0, value.object_key ().length);
- break;
- case com.sun.corba.se.internal.iiop.messages.ProfileAddr.value:
- org.omg.IOP.TaggedProfileHelper.write (ostream, value.profile ());
- break;
- case com.sun.corba.se.internal.iiop.messages.ReferenceAddr.value:
- com.sun.corba.se.internal.iiop.messages.IORAddressingInfoHelper.write (ostream, value.ior ());
- break;
- default:
- throw new org.omg.CORBA.BAD_OPERATION ();
- }
- }
-
- }