jawpgameservicermiclient.java
来自「Java mulitplayer strategy game. Adaptati」· Java 代码 · 共 119 行
JAVA
119 行
package net.sf.jawp.api.service.rmi;
import java.rmi.RemoteException;
import java.util.Collection;
import net.sf.jawp.api.domain.BattleReportVO;
import net.sf.jawp.api.domain.Fleet;
import net.sf.jawp.api.domain.GameSpeed;
import net.sf.jawp.api.domain.Planet;
import net.sf.jawp.api.domain.Realm;
import net.sf.jawp.api.service.JAWPGameService;
import net.sf.jawp.util.RMIVoidWrapper;
import net.sf.jawp.util.RMIWrapper;
/**
* Game service RMI version.
*
* @author jarek
* @version $Revision$
*
*/
public final class JAWPGameServiceRMIClient implements JAWPGameService
{
private final JAWPGameServiceRMI rmiService;
public JAWPGameServiceRMIClient(final JAWPGameServiceRMI srv )
{
this.rmiService = srv;
}
public Realm getRealm()
{
return new RMIWrapper<JAWPGameServiceRMI , Realm>( this.rmiService )
{
@Override
protected Realm perform(final JAWPGameServiceRMI rmi) throws RemoteException
{
return rmi.getRealm();
}
}.call();
}
public Collection<Planet> getPlanets()
{
return new RMIWrapper<JAWPGameServiceRMI , Collection<Planet> >( this.rmiService )
{
@Override
protected Collection<Planet> perform(final JAWPGameServiceRMI rmi) throws RemoteException
{
return rmi.getPlanets();
}
}.call();
}
public void moveFleet(final long fromPlanetKey, final long toPlanetKey, final int size) throws IllegalArgumentException
{
new RMIVoidWrapper<JAWPGameServiceRMI >( this.rmiService )
{
@Override
protected void performVoid(final JAWPGameServiceRMI rmi) throws RemoteException
{
rmi.moveFleet(fromPlanetKey, toPlanetKey, size);
}
}.call();
}
public Realm getOtherRealm(final long realmKey)
{
return new RMIWrapper<JAWPGameServiceRMI , Realm>( this.rmiService )
{
@Override
protected Realm perform(final JAWPGameServiceRMI rmi) throws RemoteException
{
return rmi.getOtherRealm(realmKey);
}
}.call();
}
public Collection<Fleet> getOwnFleets()
{
return new RMIWrapper<JAWPGameServiceRMI , Collection<Fleet> >( this.rmiService )
{
@Override
protected Collection<Fleet> perform(final JAWPGameServiceRMI rmi) throws RemoteException
{
return rmi.getOwnFleets();
}
}.call();
}
public GameSpeed getGameSpeed()
{
return new RMIWrapper<JAWPGameServiceRMI, GameSpeed >( this.rmiService )
{
@Override
protected GameSpeed perform(final JAWPGameServiceRMI rmi) throws RemoteException
{
return rmi.getGameSpeed();
}
}.call();
}
/**
* {@inheritDoc}
*/
public Collection<BattleReportVO> getBattleReports()
{
return new RMIWrapper<JAWPGameServiceRMI, Collection<BattleReportVO> >( this.rmiService )
{
@Override
protected Collection<BattleReportVO> perform(final JAWPGameServiceRMI rmi) throws RemoteException
{
return rmi.getBattleReports();
}
}.call();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?