001         package com.croftsoft.apps.mars.net;
002    
003         import com.croftsoft.core.lang.NullArgumentException;
004    
005         import com.croftsoft.apps.mars.model.seri.SeriTank;
006    
007         /*********************************************************************
008         * Player data.
009         *
010         * @version
011         *   2003-06-13
012         * @since
013         *   2003-04-07
014         * @author
015         *   <a href="https://www.croftsoft.com/">David Wallace Croft</a>
016         *********************************************************************/
017    
018         public final class  Player
019         //////////////////////////////////////////////////////////////////////
020         //////////////////////////////////////////////////////////////////////
021         {
022    
023         private final String    name;
024    
025         private final SeriTank  seriTank;
026    
027         //
028    
029         private GameData  gameData;
030    
031         private long      lastRequestTime;
032    
033         //////////////////////////////////////////////////////////////////////
034         //////////////////////////////////////////////////////////////////////
035    
036         public  Player (
037           String    name,
038           SeriTank  seriTank )
039         //////////////////////////////////////////////////////////////////////
040         {
041           NullArgumentException.check ( this.name     = name     );
042    
043           NullArgumentException.check ( this.seriTank = seriTank );
044         }
045    
046         //////////////////////////////////////////////////////////////////////
047         // accessor methods
048         //////////////////////////////////////////////////////////////////////
049    
050         public synchronized long  getLastRequestTime ( )
051         //////////////////////////////////////////////////////////////////////
052         {
053           return lastRequestTime;
054         }
055    
056         public String    getName     ( ) { return name;     }
057    
058         public SeriTank  getSeriTank ( ) { return seriTank; }
059    
060         public GameData  getGameData ( ) { return gameData; }
061    
062         //////////////////////////////////////////////////////////////////////
063         // mutator methods
064         //////////////////////////////////////////////////////////////////////
065    
066         public void  setGameData ( GameData  gameData )
067         //////////////////////////////////////////////////////////////////////
068         {
069           this.gameData = gameData;
070         }
071    
072         public synchronized void  setLastRequestTime ( long  lastRequestTime )
073         //////////////////////////////////////////////////////////////////////
074         {
075           this.lastRequestTime = lastRequestTime;
076         }
077    
078         //////////////////////////////////////////////////////////////////////
079         //////////////////////////////////////////////////////////////////////
080         }