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

package relational;

public final class InternalDatabase_Skel
    implements java.rmi.server.Skeleton
{
    private static final java.rmi.server.Operation[] operations = {
	new java.rmi.server.Operation("void createIndex(relational.FieldDescriptor)"),
	new java.rmi.server.Operation("relational.ResultSet evaluateSelect(relational.Select)"),
	new java.rmi.server.Operation("void insert(relational.Relational)"),
	new java.rmi.server.Operation("void insert(relational.Relational[])"),
	new java.rmi.server.Operation("void noop()"),
	new java.rmi.server.Operation("void shutdown()"),
	new java.rmi.server.Operation("void update(relational.Relational)"),
	new java.rmi.server.Operation("void update(relational.Relational[])")
    };
    
    private static final long interfaceHash = 1433761301597707804L;
    
    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 == 548209614843614530L) {
		opnum = 0;
	    } else if (hash == -2783220231305417061L) {
		opnum = 1;
	    } else if (hash == -5825883743388956471L) {
		opnum = 2;
	    } else if (hash == 8403990407738094962L) {
		opnum = 3;
	    } else if (hash == 6815962424935952648L) {
		opnum = 4;
	    } else if (hash == -7207851917985848402L) {
		opnum = 5;
	    } else if (hash == -3863351175113629196L) {
		opnum = 6;
	    } else if (hash == -5073909635146001301L) {
		opnum = 7;
	    } else {
		throw new java.rmi.UnmarshalException("invalid method hash");
	    }
	} else {
	    if (hash != interfaceHash)
		throw new java.rmi.server.SkeletonMismatchException("interface hash mismatch");
	}
	
	relational.InternalDatabase server = (relational.InternalDatabase) obj;
	switch (opnum) {
	case 0: // createIndex(FieldDescriptor)
	{
	    relational.FieldDescriptor $param_FieldDescriptor_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_FieldDescriptor_1 = (relational.FieldDescriptor) 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.createIndex($param_FieldDescriptor_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 1: // evaluateSelect(Select)
	{
	    relational.Select $param_Select_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_Select_1 = (relational.Select) 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();
	    }
	    relational.ResultSet $result = server.evaluateSelect($param_Select_1);
	    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 2: // insert(Relational)
	{
	    relational.Relational $param_Relational_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_Relational_1 = (relational.Relational) 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.insert($param_Relational_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 3: // insert(Relational[])
	{
	    relational.Relational[] $param_arrayOf_Relational_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_arrayOf_Relational_1 = (relational.Relational[]) 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.insert($param_arrayOf_Relational_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 4: // noop()
	{
	    call.releaseInputStream();
	    server.noop();
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 5: // shutdown()
	{
	    call.releaseInputStream();
	    server.shutdown();
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 6: // update(Relational)
	{
	    relational.Relational $param_Relational_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_Relational_1 = (relational.Relational) 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.update($param_Relational_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 7: // update(Relational[])
	{
	    relational.Relational[] $param_arrayOf_Relational_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_arrayOf_Relational_1 = (relational.Relational[]) 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.update($param_arrayOf_Relational_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");
	}
    }
}
