001 package org.omg.GIOP; 002 003 /** 004 * Generated from IDL union "TargetAddress". 005 * 006 * @author JacORB IDL compiler V 2.3.0 (JBoss patch 6), 06-Jun-2007 007 * @version generated at Sep 22, 2012 10:57:17 AM 008 */ 009 010 public final class TargetAddressHelper 011 { 012 private static org.omg.CORBA.TypeCode _type; 013 public static void insert (final org.omg.CORBA.Any any, final org.omg.GIOP.TargetAddress s) 014 { 015 any.type(type()); 016 write( any.create_output_stream(),s); 017 } 018 019 public static org.omg.GIOP.TargetAddress extract (final org.omg.CORBA.Any any) 020 { 021 return read(any.create_input_stream()); 022 } 023 024 public static String id() 025 { 026 return "IDL:omg.org/GIOP/TargetAddress:1.0"; 027 } 028 public static TargetAddress read (org.omg.CORBA.portable.InputStream in) 029 { 030 TargetAddress result = new TargetAddress (); 031 short disc=in.read_short(); 032 switch (disc) 033 { 034 case 0: 035 { 036 byte[] _var; 037 int _l_var3 = in.read_long(); 038 try 039 { 040 int x = in.available(); 041 if ( x > 0 && _l_var3 > x ) 042 { 043 throw new org.omg.CORBA.MARSHAL("Sequence length too large. Only " + x + " available and trying to assign " + _l_var3); 044 } 045 } 046 catch (java.io.IOException e) 047 { 048 } 049 _var = new byte[_l_var3]; 050 in.read_octet_array(_var,0,_l_var3); 051 result.object_key (_var); 052 break; 053 } 054 case 1: 055 { 056 org.omg.IOP.TaggedProfile _var; 057 _var=org.omg.IOP.TaggedProfileHelper.read(in); 058 result.profile (_var); 059 break; 060 } 061 case 2: 062 { 063 org.omg.GIOP.IORAddressingInfo _var; 064 _var=org.omg.GIOP.IORAddressingInfoHelper.read(in); 065 result.ior (_var); 066 break; 067 } 068 default: result.__default (disc); 069 } 070 return result; 071 } 072 public static void write (org.omg.CORBA.portable.OutputStream out, TargetAddress s) 073 { 074 out.write_short(s.discriminator ()); 075 switch (s.discriminator ()) 076 { 077 case 0: 078 { 079 080 out.write_long(s.object_key ().length); 081 out.write_octet_array(s.object_key (),0,s.object_key ().length); 082 break; 083 } 084 case 1: 085 { 086 org.omg.IOP.TaggedProfileHelper.write(out,s.profile ()); 087 break; 088 } 089 case 2: 090 { 091 org.omg.GIOP.IORAddressingInfoHelper.write(out,s.ior ()); 092 break; 093 } 094 } 095 } 096 public static org.omg.CORBA.TypeCode type () 097 { 098 if (_type == null) 099 { 100 org.omg.CORBA.UnionMember[] members = new org.omg.CORBA.UnionMember[3]; 101 org.omg.CORBA.Any label_any; 102 label_any = org.omg.CORBA.ORB.init().create_any (); 103 label_any.insert_short ((short)0); 104 members[0] = new org.omg.CORBA.UnionMember ("object_key", label_any, org.omg.CORBA.ORB.init().create_sequence_tc(0, org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(10))),null); 105 label_any = org.omg.CORBA.ORB.init().create_any (); 106 label_any.insert_short ((short)1); 107 members[1] = new org.omg.CORBA.UnionMember ("profile", label_any, org.omg.IOP.TaggedProfileHelper.type(),null); 108 label_any = org.omg.CORBA.ORB.init().create_any (); 109 label_any.insert_short ((short)2); 110 members[2] = new org.omg.CORBA.UnionMember ("ior", label_any, org.omg.GIOP.IORAddressingInfoHelper.type(),null); 111 _type = org.omg.CORBA.ORB.init().create_union_tc(id(),"TargetAddress",org.omg.GIOP.AddressingDispositionHelper.type(), members); 112 } 113 return _type; 114 } 115 }