001    package org.omg.CosTransactions;
002    
003    
004    /**
005    * org/omg/CosTransactions/PropagationContextHelper.java .
006    * Generated by the IDL-to-Java compiler (portable), version "3.2"
007    * from /builddir/build/BUILD/geronimo-specs-1.6/geronimo-spec-corba/src/main/idl/CosTransactions.idl
008    * Saturday, September 22, 2012 10:56:39 AM CEST
009    */
010    
011    abstract public class PropagationContextHelper
012    {
013      private static String  _id = "IDL:CosTransactions/PropagationContext:1.0";
014    
015      public static void insert (org.omg.CORBA.Any a, org.omg.CosTransactions.PropagationContext 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.CosTransactions.PropagationContext 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      private static boolean __active = false;
030      synchronized public static org.omg.CORBA.TypeCode type ()
031      {
032        if (__typeCode == null)
033        {
034          synchronized (org.omg.CORBA.TypeCode.class)
035          {
036            if (__typeCode == null)
037            {
038              if (__active)
039              {
040                return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
041              }
042              __active = true;
043              org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [4];
044              org.omg.CORBA.TypeCode _tcOf_members0 = null;
045              _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ulong);
046              _members0[0] = new org.omg.CORBA.StructMember (
047                "timeout",
048                _tcOf_members0,
049                null);
050              _tcOf_members0 = org.omg.CosTransactions.TransIdentityHelper.type ();
051              _members0[1] = new org.omg.CORBA.StructMember (
052                "current",
053                _tcOf_members0,
054                null);
055              _tcOf_members0 = org.omg.CosTransactions.TransIdentityHelper.type ();
056              _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
057              _members0[2] = new org.omg.CORBA.StructMember (
058                "parents",
059                _tcOf_members0,
060                null);
061              _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_any);
062              _members0[3] = new org.omg.CORBA.StructMember (
063                "implementation_specific_data",
064                _tcOf_members0,
065                null);
066              __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.omg.CosTransactions.PropagationContextHelper.id (), "PropagationContext", _members0);
067              __active = false;
068            }
069          }
070        }
071        return __typeCode;
072      }
073    
074      public static String id ()
075      {
076        return _id;
077      }
078    
079      public static org.omg.CosTransactions.PropagationContext read (org.omg.CORBA.portable.InputStream istream)
080      {
081        org.omg.CosTransactions.PropagationContext value = new org.omg.CosTransactions.PropagationContext ();
082        value.timeout = istream.read_ulong ();
083        value.current = org.omg.CosTransactions.TransIdentityHelper.read (istream);
084        int _len0 = istream.read_long ();
085        value.parents = new org.omg.CosTransactions.TransIdentity[_len0];
086        for (int _o1 = 0;_o1 < value.parents.length; ++_o1)
087          value.parents[_o1] = org.omg.CosTransactions.TransIdentityHelper.read (istream);
088        value.implementation_specific_data = istream.read_any ();
089        return value;
090      }
091    
092      public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosTransactions.PropagationContext value)
093      {
094        ostream.write_ulong (value.timeout);
095        org.omg.CosTransactions.TransIdentityHelper.write (ostream, value.current);
096        ostream.write_long (value.parents.length);
097        for (int _i0 = 0;_i0 < value.parents.length; ++_i0)
098          org.omg.CosTransactions.TransIdentityHelper.write (ostream, value.parents[_i0]);
099        ostream.write_any (value.implementation_specific_data);
100      }
101    
102    }