/*
 * @(#)AssertionServiceImpl_Skel.java
 *
 * Copyright 2006 Sony Corporation
 */

package info.dragonlady.cluster;

/**
 * アサーション情報をクラスタリングサーバ間で共有する為のサーバ側スケルトンクラス。
 * 
 * RMIコンパイラによる自動生成ファイル。
 * 
 * @author Hiroshi.Ebata(INFOCITY)
 * @version $Revision: 1.2 $ $Date: 2006/03/10 14:28:48 $
 */
public final class AssertionServiceImpl_Skel
    implements java.rmi.server.Skeleton
{
    private static final java.rmi.server.Operation[] operations = {
	new java.rmi.server.Operation("java.util.Map getAssertionMap()"),
	new java.rmi.server.Operation("java.util.Map getHandleMap()"),
	new java.rmi.server.Operation("void put(java.lang.String, java.lang.String, java.lang.String)"),
	new java.rmi.server.Operation("void removeByHandle(byte[])"),
	new java.rmi.server.Operation("void removeById(java.lang.String)"),
	new java.rmi.server.Operation("void setAssertionMap(java.util.Map)"),
	new java.rmi.server.Operation("void setHandleMap(java.util.Map)")
    };
    
    private static final long interfaceHash = 2977008960879578824L;
    
    /**
     * スケルトンがサポートするオペレーションを返します。
     * 
     * @return Operation[] スケルトンがサポートするオペレーション
     * @see java.rmi.server.Skeleton#getOperations()
     */
    public java.rmi.server.Operation[] getOperations() {
	return (java.rmi.server.Operation[]) operations.clone();
    }
    
    /**
     * 引数を非整列化し、実際のリモートオブジェクトの実装を呼び出し、戻り値またはあらゆる例外を整列化します。
     * 
     * @param obj 呼び出しのディスパッチ先のリモートの実装
     * @param call リモート呼び出しを表すオブジェクト
     * @param opnum オペレーション番号
     * @param hash スタブまたはスケルトンのインタフェースハッシュ
     * @see java.rmi.server.Skeleton#dispatch(java.rmi.Remote, java.rmi.server.RemoteCall, int, long)
     */
    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 == 4132266474547421113L) {
		opnum = 0;
	    } else if (hash == 7206961570099350643L) {
		opnum = 1;
	    } else if (hash == -4725095406060374831L) {
		opnum = 2;
	    } else if (hash == -7092462798648667000L) {
		opnum = 3;
	    } else if (hash == 2501449104363933774L) {
		opnum = 4;
	    } else if (hash == -3178874101328097306L) {
		opnum = 5;
	    } else if (hash == 7559993770237421800L) {
		opnum = 6;
	    } else {
		throw new java.rmi.UnmarshalException("invalid method hash");
	    }
	} else {
	    if (hash != interfaceHash)
		throw new java.rmi.server.SkeletonMismatchException("interface hash mismatch");
	}
	
	info.dragonlady.cluster.AssertionServiceImpl server = (info.dragonlady.cluster.AssertionServiceImpl) obj;
	switch (opnum) {
	case 0: // getAssertionMap()
	{
	    call.releaseInputStream();
	    java.util.Map $result = server.getAssertionMap();
	    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: // getHandleMap()
	{
	    call.releaseInputStream();
	    java.util.Map $result = server.getHandleMap();
	    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: // put(String, String, String)
	{
	    java.lang.String $param_String_1;
	    java.lang.String $param_String_2;
	    java.lang.String $param_String_3;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_String_1 = (java.lang.String) in.readObject();
		$param_String_2 = (java.lang.String) in.readObject();
		$param_String_3 = (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.put($param_String_1, $param_String_2, $param_String_3);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 3: // removeByHandle(byte[])
	{
	    byte[] $param_arrayOf_byte_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_arrayOf_byte_1 = (byte[]) 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.removeByHandle($param_arrayOf_byte_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 4: // removeById(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.removeById($param_String_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 5: // setAssertionMap(Map)
	{
	    java.util.Map $param_Map_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_Map_1 = (java.util.Map) 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.setAssertionMap($param_Map_1);
	    try {
		call.getResultStream(true);
	    } catch (java.io.IOException e) {
		throw new java.rmi.MarshalException("error marshalling return", e);
	    }
	    break;
	}
	    
	case 6: // setHandleMap(Map)
	{
	    java.util.Map $param_Map_1;
	    try {
		java.io.ObjectInput in = call.getInputStream();
		$param_Map_1 = (java.util.Map) 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.setHandleMap($param_Map_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");
	}
    }
}
