package test.interop.miop_tao_interop;


/**
 * Generated from IDL interface "UIPMC_Object".
 *
 * @author JacORB IDL compiler V @project.version@
 * @version generated at 25-Feb-2014 13:44:20
 */

public abstract class UIPMC_ObjectHelper
{
	private volatile static org.omg.CORBA.TypeCode _type;
	public static org.omg.CORBA.TypeCode type ()
	{
		if (_type == null)
		{
			synchronized(UIPMC_ObjectHelper.class)
			{
				if (_type == null)
				{
					_type = org.omg.CORBA.ORB.init().create_interface_tc("IDL:test/interop/miop_tao_interop/UIPMC_Object:1.0", "UIPMC_Object");
				}
			}
		}
		return _type;
	}

	public static void insert (final org.omg.CORBA.Any any, final test.interop.miop_tao_interop.UIPMC_Object s)
	{
			any.insert_Object(s);
	}
	public static test.interop.miop_tao_interop.UIPMC_Object extract(final org.omg.CORBA.Any any)
	{
		return narrow(any.extract_Object()) ;
	}
	public static String id()
	{
		return "IDL:test/interop/miop_tao_interop/UIPMC_Object:1.0";
	}
	public static UIPMC_Object read(final org.omg.CORBA.portable.InputStream in)
	{
		return narrow(in.read_Object(test.interop.miop_tao_interop._UIPMC_ObjectStub.class));
	}
	public static void write(final org.omg.CORBA.portable.OutputStream _out, final test.interop.miop_tao_interop.UIPMC_Object s)
	{
		_out.write_Object(s);
	}
	public static test.interop.miop_tao_interop.UIPMC_Object narrow(final org.omg.CORBA.Object obj)
	{
		if (obj == null)
		{
			return null;
		}
		else if (obj instanceof test.interop.miop_tao_interop.UIPMC_Object)
		{
			return (test.interop.miop_tao_interop.UIPMC_Object)obj;
		}
		else if (obj._is_a("IDL:test/interop/miop_tao_interop/UIPMC_Object:1.0"))
		{
			test.interop.miop_tao_interop._UIPMC_ObjectStub stub;
			stub = new test.interop.miop_tao_interop._UIPMC_ObjectStub();
			stub._set_delegate(((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate());
			return stub;
		}
		else
		{
			throw new org.omg.CORBA.BAD_PARAM("Narrow failed");
		}
	}
	public static test.interop.miop_tao_interop.UIPMC_Object unchecked_narrow(final org.omg.CORBA.Object obj)
	{
		if (obj == null)
		{
			return null;
		}
		else if (obj instanceof test.interop.miop_tao_interop.UIPMC_Object)
		{
			return (test.interop.miop_tao_interop.UIPMC_Object)obj;
		}
		else
		{
			test.interop.miop_tao_interop._UIPMC_ObjectStub stub;
			stub = new test.interop.miop_tao_interop._UIPMC_ObjectStub();
			stub._set_delegate(((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate());
			return stub;
		}
	}
}
