001    package tecgraf.openbus.DRMAA;
002    
003    /**
004     * Generated from IDL alias "Dictionary".
005     *
006     * @author JacORB IDL compiler V 2.3-beta-2, 14-Oct-2006
007     * @version generated at Nov 3, 2010 2:32:40 PM
008     */
009    
010    public final class DictionaryHelper
011    {
012            private static org.omg.CORBA.TypeCode _type = null;
013    
014            public static void insert (org.omg.CORBA.Any any, java.lang.String[][] s)
015            {
016                    any.type (type ());
017                    write (any.create_output_stream (), s);
018            }
019    
020            public static java.lang.String[][] extract (final org.omg.CORBA.Any any)
021            {
022                    return read (any.create_input_stream ());
023            }
024    
025            public static org.omg.CORBA.TypeCode type ()
026            {
027                    if (_type == null)
028                    {
029                            _type = org.omg.CORBA.ORB.init().create_alias_tc(tecgraf.openbus.DRMAA.DictionaryHelper.id(), "Dictionary",org.omg.CORBA.ORB.init().create_sequence_tc(0, org.omg.CORBA.ORB.init().create_sequence_tc(0, org.omg.CORBA.ORB.init().create_string_tc(0))));
030                    }
031                    return _type;
032            }
033    
034            public static String id()
035            {
036                    return "IDL:tecgraf/openbus/DRMAA/Dictionary:1.0";
037            }
038            public static java.lang.String[][] read (final org.omg.CORBA.portable.InputStream _in)
039            {
040                    java.lang.String[][] _result;
041                    int _l_result2 = _in.read_long();
042                    try
043                    {
044                             int x = _in.available();
045                             if ( x > 0 && _l_result2 > x )
046                                    {
047                                            throw new org.omg.CORBA.MARSHAL("Sequence length too large. Only " + x + " available and trying to assign " + _l_result2);
048                                    }
049                    }
050                    catch (java.io.IOException e)
051                    {
052                    }
053                    _result = new java.lang.String[_l_result2][];
054                    for (int i=0;i<_result.length;i++)
055                    {
056                            int _l_result_3 = _in.read_long();
057                    try
058                    {
059                             int x = _in.available();
060                             if ( x > 0 && _l_result_3 > x )
061                                    {
062                                            throw new org.omg.CORBA.MARSHAL("Sequence length too large. Only " + x + " available and trying to assign " + _l_result_3);
063                                    }
064                    }
065                    catch (java.io.IOException e)
066                    {
067                    }
068                    _result[i] = new java.lang.String[_l_result_3];
069                        for (int j=0;j<_result[i].length;j++)
070                        {
071                                _result[i][j]=_in.read_string();
072                        }
073    
074                    }
075    
076                    return _result;
077            }
078    
079            public static void write (final org.omg.CORBA.portable.OutputStream _out, java.lang.String[][] _s)
080            {
081                    
082                    _out.write_long(_s.length);
083                    for (int i=0; i<_s.length;i++)
084                    {
085                            
086                    _out.write_long(_s[i].length);
087                        for (int j=0; j<_s[i].length;j++)
088                        {
089                                _out.write_string(_s[i][j]);
090                        }
091    
092                    }
093    
094            }
095    }