/***** Copyright (c) 1999-2000 Object Management Group. Unlimited rights to 
       duplicate and use this code are hereby granted provided that this 
       copyright notice is included.
*****/

package org.omg.CORBA;

public class PrimitiveKind implements org.omg.CORBA.portable.IDLEntity {

    public static final int _pk_null = 0;
    public static final PrimitiveKind pk_null = new PrimitiveKind(_pk_null);

    public static final int _pk_void = 1;
    public static final PrimitiveKind pk_void = new PrimitiveKind(_pk_void);

    public static final int _pk_short = 2;
    public static final PrimitiveKind pk_short = new PrimitiveKind(_pk_short);

    public static final int _pk_long = 3;
    public static final PrimitiveKind pk_long = new PrimitiveKind(_pk_long);

    public static final int _pk_ushort = 4;
    public static final PrimitiveKind pk_ushort =
            new PrimitiveKind(_pk_ushort);

    public static final int _pk_ulong = 5;
    public static final PrimitiveKind pk_ulong = new PrimitiveKind(_pk_ulong);

    public static final int _pk_float = 6;
    public static final PrimitiveKind pk_float = new PrimitiveKind(_pk_float);

    public static final int _pk_double = 7;
    public static final PrimitiveKind pk_double =
            new PrimitiveKind(_pk_double);

    public static final int _pk_boolean = 8;
    public static final PrimitiveKind pk_boolean =
            new PrimitiveKind(_pk_boolean);

    public static final int _pk_char = 9;
    public static final PrimitiveKind pk_char = new PrimitiveKind(_pk_char);

    public static final int _pk_octet = 10;
    public static final PrimitiveKind pk_octet = new PrimitiveKind(_pk_octet);

    public static final int _pk_any = 11;
    public static final PrimitiveKind pk_any = new PrimitiveKind(_pk_any);

    public static final int _pk_TypeCode = 12;
    public static final PrimitiveKind pk_TypeCode =
            new PrimitiveKind(_pk_TypeCode);

    public static final int _pk_Principal = 13;
    public static final PrimitiveKind pk_Principal =
            new PrimitiveKind(_pk_Principal);

    public static final int _pk_string = 14;
    public static final PrimitiveKind pk_string =
            new PrimitiveKind(_pk_string);

    public static final int _pk_objref= 15;
    public static final PrimitiveKind pk_objref =
            new PrimitiveKind(_pk_objref);

    public static final int _pk_longlong = 16;
    public static final PrimitiveKind pk_longlong =
            new PrimitiveKind(_pk_longlong);

    public static final int _pk_ulonglong = 17;
    public static final PrimitiveKind pk_ulonglong =
            new PrimitiveKind(_pk_ulonglong);

    public static final int _pk_longdouble = 18;
    public static final PrimitiveKind pk_longdouble =
            new PrimitiveKind(_pk_longdouble);

    public static final int _pk_wchar = 19;
    public static final PrimitiveKind pk_wchar = new PrimitiveKind(_pk_wchar);

    public static final int _pk_wstring = 20;
    public static final PrimitiveKind pk_wstring =
            new PrimitiveKind(_pk_wstring);

    public static final int _pk_value_base = 21;
    public static final PrimitiveKind pk_value_base 
            = new PrimitiveKind(_pk_value_base);

    public int value() {
        throw new org.omg.CORBA.NO_IMPLEMENT();
    }

    public static PrimitiveKind from_int(int val)
                /* Issue 3669 throws org.omg.CORBA.BAD_PARAM */ {
    switch (val) {
        case _pk_null:
            return pk_null;
        case _pk_void:
            return pk_void;
        case _pk_short:
            return pk_short;
        case _pk_long:
            return pk_long;
        case _pk_ushort:
            return pk_ushort;
        case _pk_ulong:
            return pk_ulong;
        case _pk_float:
            return pk_float;
        case _pk_double:
            return pk_double;
        case _pk_boolean:
            return pk_boolean;
        case _pk_char:
            return pk_char;
        case _pk_octet:
            return pk_octet;
        case _pk_any:
            return pk_any;
        case _pk_TypeCode:
            return pk_TypeCode;
        case _pk_Principal:
            return pk_Principal;
        case _pk_string:
            return pk_string;
        case _pk_objref:
            return pk_objref;
        case _pk_longlong:
            return pk_longlong;
        case _pk_ulonglong:
            return pk_ulonglong;
        case _pk_longdouble:
            return pk_longdouble;
        case _pk_wchar:
            return pk_wchar;
        case _pk_wstring:
            return pk_wstring;
        case _pk_value_base:
            return pk_value_base;
    default:
        throw new org.omg.CORBA.BAD_PARAM();
    }
    }

    protected PrimitiveKind(int _value) {
        throw new org.omg.CORBA.NO_IMPLEMENT();
    }

    public java.lang.Object readResolve() throws java.io.ObjectStreamException
    {
	return from_int( value() ) ;
    }
}
