// Skeleton class generated by rmic, do not edit.
// Contents subject to change without notice.

package dant.test.rmi;

public final class Server_Skel
    implements java.rmi.server.Skeleton
{
    private static final java.rmi.server.Operation[] operations = {
	new java.rmi.server.Operation("java.io.Externalizable externalizableNoParam()"),
	new java.rmi.server.Operation("int primitiveNoParam()"),
	new java.rmi.server.Operation("java.io.Serializable serializableNoParam()"),
	new java.rmi.server.Operation("java.lang.String stringNoParam()"),
	new java.rmi.server.Operation("void voidExternalizableParam(java.io.Externalizable)"),
	new java.rmi.server.Operation("void voidMultipleExternalizableParam(java.io.Externalizable, java.io.Externalizable)"),
	new java.rmi.server.Operation("void voidMultiplePrimitiveParam(int, float)"),
	new java.rmi.server.Operation("void voidMultipleSerializableParam(java.io.Serializable, java.io.Serializable)"),
	new java.rmi.server.Operation("void voidMultipleStringParam(java.lang.String, java.lang.String)"),
	new java.rmi.server.Operation("void voidNoParams()"),
	new java.rmi.server.Operation("void voidPrimitiveParam(int)"),
	new java.rmi.server.Operation("void voidSerializableParam(java.io.Serializable)"),
	new java.rmi.server.Operation("void voidStringParam(java.lang.String)")
    };
    
    private static final long interfaceHash = -6833338475940168393L;
    
    public java.rmi.server.Operation[] getOperations() {
	return (java.rmi.server.Operation[]) operations.clone();
    }
    
    public void dispatch(java.rmi.Remote obj, java.rmi.server.RemoteCall call, int opnum, long hash)
	throws java.lang.Exception
    {
	if (opnum < 0) {
	    if (hash == -2650265553860422354L) {
		opnum = 0;
	    } else if (hash == -8951808628026959673L) {
		opnum = 1;
	    } else if (hash == -1096604072422095136L) {
		opnum = 2;
	    } else if (hash == -8625225237790894865L) {
		opnum = 3;
	    } else if (hash == 7019569558548687363L) {
		opnum = 4;
	    } else if (hash == 7295649033622364273L) {
		opnum = 5;
	    } else if (hash == -3520114825331557121L) {
		opnum = 6;
	    } else if (hash == 5876764673039311091L) {
		opnum = 7;
	    } else if (hash == 4981381260284148835L) {
		opnum = 8;
	    } else if (hash == 6890324490836523717L) {
		opnum = 9;
	    } else if (hash == 565554149824463835L) {
		opnum = 10;
	    } else if (hash == 3415498872468539031L) {
		opnum = 11;
	    } else if (hash == 4070055943050418612L) {
		opnum = 12;
	    } else {
		throw new java.rmi.UnmarshalException("invalid method hash");
	    }
	} else {
	    if (hash != interfaceHash)
		throw new java.rmi.server.SkeletonMismatchException("interface hash mismatch");
	}
	
	dant.test.rmi.Server server = (dant.test.rmi.Server) obj;
	switch (opnum) {
	case 0: // externalizableNoParam()
	{
	    call.releaseInputStream();
	    java.io.Externalizable $result = server.externalizableNoParam();
	    try {
		java.io.ObjectOutput out = call.getResultStream(true);
		out.writeObject($result);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 1: // primitiveNoParam()
	{
	    call.releaseInputStream();
	    int $result = server.primitiveNoParam();
	    try {
		java.io.ObjectOutput out = call.getResultStream(true);
		out.writeInt($result);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 2: // serializableNoParam()
	{
	    call.releaseInputStream();
	    java.io.Serializable $result = server.serializableNoParam();
	    try {
		java.io.ObjectOutput out = call.getResultStream(true);
		out.writeObject($result);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 3: // stringNoParam()
	{
	    call.releaseInputStream();
	    java.lang.String $result = server.stringNoParam();
	    try {
		java.io.ObjectOutput out = call.getResultStream(true);
		out.writeObject($result);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 4: // voidExternalizableParam(Externalizable)
	{
	    java.io.Externalizable $param_Externalizable_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_Externalizable_1 = (java.io.Externalizable) in.readObject();
	    } catch (java.io.IOException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } catch (java.lang.ClassNotFoundException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } finally {
		call.releaseInputStream();
	    }
	    server.voidExternalizableParam($param_Externalizable_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 5: // voidMultipleExternalizableParam(Externalizable, Externalizable)
	{
	    java.io.Externalizable $param_Externalizable_1;
	    java.io.Externalizable $param_Externalizable_2;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_Externalizable_1 = (java.io.Externalizable) in.readObject();
		$param_Externalizable_2 = (java.io.Externalizable) in.readObject();
	    } catch (java.io.IOException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } catch (java.lang.ClassNotFoundException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } finally {
		call.releaseInputStream();
	    }
	    server.voidMultipleExternalizableParam($param_Externalizable_1, $param_Externalizable_2);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 6: // voidMultiplePrimitiveParam(int, float)
	{
	    int $param_int_1;
	    float $param_float_2;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_int_1 = in.readInt();
		$param_float_2 = in.readFloat();
	    } catch (java.io.IOException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } finally {
		call.releaseInputStream();
	    }
	    server.voidMultiplePrimitiveParam($param_int_1, $param_float_2);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 7: // voidMultipleSerializableParam(Serializable, Serializable)
	{
	    java.io.Serializable $param_Serializable_1;
	    java.io.Serializable $param_Serializable_2;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_Serializable_1 = (java.io.Serializable) in.readObject();
		$param_Serializable_2 = (java.io.Serializable) in.readObject();
	    } catch (java.io.IOException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } catch (java.lang.ClassNotFoundException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } finally {
		call.releaseInputStream();
	    }
	    server.voidMultipleSerializableParam($param_Serializable_1, $param_Serializable_2);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 8: // voidMultipleStringParam(String, String)
	{
	    java.lang.String $param_String_1;
	    java.lang.String $param_String_2;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_String_1 = (java.lang.String) in.readObject();
		$param_String_2 = (java.lang.String) in.readObject();
	    } catch (java.io.IOException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } catch (java.lang.ClassNotFoundException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } finally {
		call.releaseInputStream();
	    }
	    server.voidMultipleStringParam($param_String_1, $param_String_2);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 9: // voidNoParams()
	{
	    call.releaseInputStream();
	    server.voidNoParams();
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 10: // voidPrimitiveParam(int)
	{
	    int $param_int_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_int_1 = in.readInt();
	    } catch (java.io.IOException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } finally {
		call.releaseInputStream();
	    }
	    server.voidPrimitiveParam($param_int_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 11: // voidSerializableParam(Serializable)
	{
	    java.io.Serializable $param_Serializable_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_Serializable_1 = (java.io.Serializable) in.readObject();
	    } catch (java.io.IOException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } catch (java.lang.ClassNotFoundException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } finally {
		call.releaseInputStream();
	    }
	    server.voidSerializableParam($param_Serializable_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 12: // voidStringParam(String)
	{
	    java.lang.String $param_String_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_String_1 = (java.lang.String) in.readObject();
	    } catch (java.io.IOException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } catch (java.lang.ClassNotFoundException e) {
		throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
	    } finally {
		call.releaseInputStream();
	    }
	    server.voidStringParam($param_String_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	default:
	    throw new java.rmi.UnmarshalException("invalid method number");
	}
    }
}
