userservicermiclient.java

来自「Java mulitplayer strategy game. Adaptati」· Java 代码 · 共 59 行

JAVA
59
字号
package net.sf.jawp.gf.api.services.rmi;

import java.rmi.RemoteException;

import net.sf.jawp.gf.api.domain.User;
import net.sf.jawp.gf.api.services.LoginService;
import net.sf.jawp.gf.api.services.UserService;
import net.sf.jawp.util.RMIWrapper;

/**
 * RMI client for user service.
 * 
 * @author jarek
 * @version $Revision$
 *
 * @param <FACTORY>  factory for creating RMI game client
 * @param <GAMESERVICE> native game service
 */
public final class UserServiceRMIClient<GAMESERVICE, FACTORY extends GameServiceClientFactory<GAMESERVICE> > implements UserService<GAMESERVICE>
{

	private final UserServiceRMI<GAMESERVICE> rmiService;
	
	private final FACTORY gameClientFactory;
	
	public UserServiceRMIClient(final UserServiceRMI<GAMESERVICE> rmiConnection, final FACTORY fac)
	{
		this.rmiService = rmiConnection;
		this.gameClientFactory = fac;
	}
	
	public User registerUser(final String login, final String encodedPass)
	{
		return new RMIWrapper<UserServiceRMI<GAMESERVICE> , User>( this.rmiService )
		{
			@Override
			protected User perform(final UserServiceRMI<GAMESERVICE>  rmi) throws RemoteException
			{
				return rmi.registerUser( login, encodedPass);
			}
		}.call();
	}

	public LoginService<GAMESERVICE> initLogin(final String login)
	{
		final LoginServiceRMI<GAMESERVICE>  logSrv =  new RMIWrapper<UserServiceRMI<GAMESERVICE> , LoginServiceRMI<GAMESERVICE>  >( this.rmiService )
		{
			@Override
			protected LoginServiceRMI<GAMESERVICE>  perform(final UserServiceRMI<GAMESERVICE>  rmi) throws RemoteException 
			{
				return rmi.initLogin( login); 
			}
		}.call();
		return new LoginServiceRMIClient<GAMESERVICE, FACTORY> (logSrv, this.gameClientFactory);
	}

	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?