001    package org.omg.CSI;
002    
003    /**
004     * Generated from IDL union "IdentityToken".
005     *
006     * @author JacORB IDL compiler V 2.3.0 (JBoss patch 6), 06-Jun-2007
007     * @version generated at Jun 18, 2012 10:38:00 AM
008     */
009    
010    public final class IdentityTokenHelper
011    {
012            private static org.omg.CORBA.TypeCode _type;
013            public static void insert (final org.omg.CORBA.Any any, final org.omg.CSI.IdentityToken s)
014            {
015                    any.type(type());
016                    write( any.create_output_stream(),s);
017            }
018    
019            public static org.omg.CSI.IdentityToken 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/CSI/IdentityToken:1.0";
027            }
028            public static IdentityToken read (org.omg.CORBA.portable.InputStream in)
029            {
030                    IdentityToken result = new IdentityToken ();
031                    int disc=in.read_ulong();
032                    switch (disc)
033                    {
034                            case 0:
035                            {
036                                    boolean _var;
037                                    _var=in.read_boolean();
038                                    result.absent (_var);
039                                    break;
040                            }
041                            case 1:
042                            {
043                                    boolean _var;
044                                    _var=in.read_boolean();
045                                    result.anonymous (_var);
046                                    break;
047                            }
048                            case 2:
049                            {
050                                    byte[] _var;
051                                    _var = org.omg.CSI.GSS_NT_ExportedNameHelper.read(in);
052                                    result.principal_name (_var);
053                                    break;
054                            }
055                            case 4:
056                            {
057                                    byte[] _var;
058                                    _var = org.omg.CSI.X509CertificateChainHelper.read(in);
059                                    result.certificate_chain (_var);
060                                    break;
061                            }
062                            case 8:
063                            {
064                                    byte[] _var;
065                                    _var = org.omg.CSI.X501DistinguishedNameHelper.read(in);
066                                    result.dn (_var);
067                                    break;
068                            }
069                            default:
070                            {
071                                    byte[] _var;
072                                    _var = org.omg.CSI.IdentityExtensionHelper.read(in);
073                                    result.id (_var);
074                            }
075                    }
076                    return result;
077            }
078            public static void write (org.omg.CORBA.portable.OutputStream out, IdentityToken s)
079            {
080                    out.write_ulong(s.discriminator ());
081                    switch (s.discriminator ())
082                    {
083                            case 0:
084                            {
085                                    out.write_boolean(s.absent ());
086                                    break;
087                            }
088                            case 1:
089                            {
090                                    out.write_boolean(s.anonymous ());
091                                    break;
092                            }
093                            case 2:
094                            {
095                                    org.omg.CSI.GSS_NT_ExportedNameHelper.write(out,s.principal_name ());
096                                    break;
097                            }
098                            case 4:
099                            {
100                                    org.omg.CSI.X509CertificateChainHelper.write(out,s.certificate_chain ());
101                                    break;
102                            }
103                            case 8:
104                            {
105                                    org.omg.CSI.X501DistinguishedNameHelper.write(out,s.dn ());
106                                    break;
107                            }
108                            default:
109                            {
110                                    org.omg.CSI.IdentityExtensionHelper.write(out,s.id ());
111                            }
112                    }
113            }
114            public static org.omg.CORBA.TypeCode type ()
115            {
116                    if (_type == null)
117                    {
118                            org.omg.CORBA.UnionMember[] members = new org.omg.CORBA.UnionMember[6];
119                            org.omg.CORBA.Any label_any;
120                            label_any = org.omg.CORBA.ORB.init().create_any ();
121                            label_any.insert_ulong (0);
122                            members[0] = new org.omg.CORBA.UnionMember ("absent", label_any, org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(8)),null);
123                            label_any = org.omg.CORBA.ORB.init().create_any ();
124                            label_any.insert_ulong (1);
125                            members[1] = new org.omg.CORBA.UnionMember ("anonymous", label_any, org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(8)),null);
126                            label_any = org.omg.CORBA.ORB.init().create_any ();
127                            label_any.insert_ulong (2);
128                            members[2] = new org.omg.CORBA.UnionMember ("principal_name", label_any, org.omg.CSI.GSS_NT_ExportedNameHelper.type(),null);
129                            label_any = org.omg.CORBA.ORB.init().create_any ();
130                            label_any.insert_ulong (4);
131                            members[3] = new org.omg.CORBA.UnionMember ("certificate_chain", label_any, org.omg.CSI.X509CertificateChainHelper.type(),null);
132                            label_any = org.omg.CORBA.ORB.init().create_any ();
133                            label_any.insert_ulong (8);
134                            members[4] = new org.omg.CORBA.UnionMember ("dn", label_any, org.omg.CSI.X501DistinguishedNameHelper.type(),null);
135                            label_any = org.omg.CORBA.ORB.init().create_any ();
136                            label_any.insert_octet ((byte)0);
137                            members[5] = new org.omg.CORBA.UnionMember ("id", label_any, org.omg.CSI.IdentityExtensionHelper.type(),null);
138                             _type = org.omg.CORBA.ORB.init().create_union_tc(id(),"IdentityToken",org.omg.CSI.IdentityTokenTypeHelper.type(), members);
139                    }
140                    return _type;
141            }
142    }