001 package org.omg.GIOP;
002
003
004 /**
005 * org/omg/GIOP/TargetAddressHelper.java .
006 * Generated by the IDL-to-Java compiler (portable), version "3.2"
007 * from /home/iurt/rpm/BUILD/geronimo-spec-corba/src/main/idl/GIOP.idl
008 * Saturday, November 26, 2011 9:53:36 PM UTC
009 */
010
011 abstract public class TargetAddressHelper
012 {
013 private static String _id = "IDL:omg.org/GIOP/TargetAddress:1.0";
014
015 public static void insert (org.omg.CORBA.Any a, org.omg.GIOP.TargetAddress that)
016 {
017 org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
018 a.type (type ());
019 write (out, that);
020 a.read_value (out.create_input_stream (), type ());
021 }
022
023 public static org.omg.GIOP.TargetAddress extract (org.omg.CORBA.Any a)
024 {
025 return read (a.create_input_stream ());
026 }
027
028 private static org.omg.CORBA.TypeCode __typeCode = null;
029 synchronized public static org.omg.CORBA.TypeCode type ()
030 {
031 if (__typeCode == null)
032 {
033 org.omg.CORBA.TypeCode _disTypeCode0;
034 _disTypeCode0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_short);
035 _disTypeCode0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.GIOP.AddressingDispositionHelper.id (), "AddressingDisposition", _disTypeCode0);
036 org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember [3];
037 org.omg.CORBA.TypeCode _tcOf_members0;
038 org.omg.CORBA.Any _anyOf_members0;
039
040 // Branch for object_key (case label org.omg.GIOP.KeyAddr.value)
041 _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any ();
042 _anyOf_members0.insert_short ((short)org.omg.GIOP.KeyAddr.value);
043 _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_octet);
044 _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
045 _members0[0] = new org.omg.CORBA.UnionMember (
046 "object_key",
047 _anyOf_members0,
048 _tcOf_members0,
049 null);
050
051 // Branch for profile (case label org.omg.GIOP.ProfileAddr.value)
052 _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any ();
053 _anyOf_members0.insert_short ((short)org.omg.GIOP.ProfileAddr.value);
054 _tcOf_members0 = org.omg.IOP.TaggedProfileHelper.type ();
055 _members0[1] = new org.omg.CORBA.UnionMember (
056 "profile",
057 _anyOf_members0,
058 _tcOf_members0,
059 null);
060
061 // Branch for ior (case label org.omg.GIOP.ReferenceAddr.value)
062 _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any ();
063 _anyOf_members0.insert_short ((short)org.omg.GIOP.ReferenceAddr.value);
064 _tcOf_members0 = org.omg.GIOP.IORAddressingInfoHelper.type ();
065 _members0[2] = new org.omg.CORBA.UnionMember (
066 "ior",
067 _anyOf_members0,
068 _tcOf_members0,
069 null);
070 __typeCode = org.omg.CORBA.ORB.init ().create_union_tc (org.omg.GIOP.TargetAddressHelper.id (), "TargetAddress", _disTypeCode0, _members0);
071 }
072 return __typeCode;
073 }
074
075 public static String id ()
076 {
077 return _id;
078 }
079
080 public static org.omg.GIOP.TargetAddress read (org.omg.CORBA.portable.InputStream istream)
081 {
082 org.omg.GIOP.TargetAddress value = new org.omg.GIOP.TargetAddress ();
083 short _dis0 = (short)0;
084 _dis0 = istream.read_short ();
085 switch (_dis0)
086 {
087 case org.omg.GIOP.KeyAddr.value:
088 byte _object_key[] = null;
089 int _len1 = istream.read_long ();
090 _object_key = new byte[_len1];
091 istream.read_octet_array (_object_key, 0, _len1);
092 value.object_key (_object_key);
093 break;
094 case org.omg.GIOP.ProfileAddr.value:
095 org.omg.IOP.TaggedProfile _profile = null;
096 _profile = org.omg.IOP.TaggedProfileHelper.read (istream);
097 value.profile (_profile);
098 break;
099 case org.omg.GIOP.ReferenceAddr.value:
100 org.omg.GIOP.IORAddressingInfo _ior = null;
101 _ior = org.omg.GIOP.IORAddressingInfoHelper.read (istream);
102 value.ior (_ior);
103 break;
104 default:
105 value._default( _dis0 ) ;
106 break;
107 }
108 return value;
109 }
110
111 public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.GIOP.TargetAddress value)
112 {
113 ostream.write_short (value.discriminator ());
114 switch (value.discriminator ())
115 {
116 case org.omg.GIOP.KeyAddr.value:
117 ostream.write_long (value.object_key ().length);
118 ostream.write_octet_array (value.object_key (), 0, value.object_key ().length);
119 break;
120 case org.omg.GIOP.ProfileAddr.value:
121 org.omg.IOP.TaggedProfileHelper.write (ostream, value.profile ());
122 break;
123 case org.omg.GIOP.ReferenceAddr.value:
124 org.omg.GIOP.IORAddressingInfoHelper.write (ostream, value.ior ());
125 break;
126 }
127 }
128
129 }