fr.lip6.sma.simulacion.app
Class ApplicationImpl

java.lang.Object
  extended by fr.lip6.sma.simulacion.app.ApplicationImpl
All Implemented Interfaces:
Application
Direct Known Subclasses:
GameApplicationImpl

public abstract class ApplicationImpl
extends Object
implements Application

Classe de base pour les application. Affiche la fenêtre de chargement et gère la configuration.

Version:
$Revision: 3 $
Author:
Paul Guyot
See Also:
"aucun test défini."

Field Summary
private  Map mAgentsConfig
          Configuration des agents (les agents ne sont créés que lorsqu'ils apparaissent sur le réseau).
private  Map mAvatars
          Référence sur les avatars.
private  Configuration mConfiguration
          Référence sur la configuration.
private  Thread mLoaderThread
          Processus léger pour le chargement des images.
private  Integer mLockImageLoader
          Verrou pour attendre le processus léger de chargement des images.
private  SplashWindow mSplashWindow
          Référence sur la fenêtre Splash.
private  SimulacionMediaTracker mTracker
          Référence sur le traqueur
 
Constructor Summary
ApplicationImpl(String inConfigurationPath)
          Constructeur à partir du chemin de configuration.
ApplicationImpl(String inConfigurationPath, String[] inAdditionalParams)
          Constructeur à partir du chemin de configuration.
 
Method Summary
 Map getAgentConfig(String inName)
          Accesseur sur la configuration d'un agent donné.
 Avatar getAvatar(String inName)
          Accesseur sur un avatar donné.
 Map getAvatars()
          Accesseur sur tous les avatars.
 Configuration getConfiguration()
          Accesseur sur la configuration.
 String getPlayerAgentClass()
          Accesseur sur la classe des joueurs.
 Collection getPlayerAgentNames()
          Accesseur sur les noms des agents de la classe joueur.
 String getPlayerNameFromAvatarName(String inAvatarName)
          Accesseur sur le nom d'un joueur à partir du nom de son avatar.
protected abstract  SplashWindow getSplashWindow()
          Crée et retourne la fenêtre de démarrage.
 SimulacionMediaTracker getTracker()
          Accesseur sur le traqueur.
(package private)  void loadImages()
          Charge les images (dans un processus léger séparé).
 void quit()
          Method called to quit the application.
protected  void setupApplication(String[] inParams)
          Initialisation avec les paramètres.
protected abstract  void setupServer()
          Démarre le serveur.
protected abstract  void start()
          Démarre l'application.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mConfiguration

private Configuration mConfiguration
Référence sur la configuration.


mTracker

private final SimulacionMediaTracker mTracker
Référence sur le traqueur


mAvatars

private Map mAvatars
Référence sur les avatars. Les clés sont les noms, les valeurs sont des objets Avatar.


mAgentsConfig

private final Map mAgentsConfig
Configuration des agents (les agents ne sont créés que lorsqu'ils apparaissent sur le réseau).


mLoaderThread

private final Thread mLoaderThread
Processus léger pour le chargement des images.


mSplashWindow

private SplashWindow mSplashWindow
Référence sur la fenêtre Splash. null lorsqu'elle est fermée.


mLockImageLoader

private final Integer mLockImageLoader
Verrou pour attendre le processus léger de chargement des images.

Constructor Detail

ApplicationImpl

public ApplicationImpl(String inConfigurationPath)
Constructeur à partir du chemin de configuration. Crée le traqueur et la configuration. Charge les avatars.

Parameters:
inConfigurationPath - chemin vers le fichier de configuration

ApplicationImpl

public ApplicationImpl(String inConfigurationPath,
                       String[] inAdditionalParams)
Constructeur à partir du chemin de configuration. Crée le traqueur et la configuration. Charge les avatars.

Parameters:
inConfigurationPath - chemin vers le fichier de configuration.
inAdditionalParams - paramètres qui suivent, sur la cli.
Method Detail

getConfiguration

public Configuration getConfiguration()
Accesseur sur la configuration.

Specified by:
getConfiguration in interface Application
Returns:
une référence sur la configuration.

getTracker

public SimulacionMediaTracker getTracker()
Accesseur sur le traqueur.

Specified by:
getTracker in interface Application
Returns:
une référence sur le traqueur pour les images.

getAvatars

public Map getAvatars()
Accesseur sur tous les avatars.

Specified by:
getAvatars in interface Application
Returns:
une référence sur le tableau des avatars.

getAvatar

public Avatar getAvatar(String inName)
Accesseur sur un avatar donné.

Specified by:
getAvatar in interface Application
Parameters:
inName - nom de l'avatar.
Returns:
une référence sur un avatar ou null si aucun avatar de ce nom n'existe.

getAgentConfig

public Map getAgentConfig(String inName)
Accesseur sur la configuration d'un agent donné.

Specified by:
getAgentConfig in interface Application
Parameters:
inName - nom de l'agent
Returns:
une référence sur une configuration ou null si aucun agent de ce nom n'existe.

getPlayerAgentClass

public String getPlayerAgentClass()
Accesseur sur la classe des joueurs.

Specified by:
getPlayerAgentClass in interface Application
Returns:
le nom de la classe des joueurs, par défaut Player.CLASS.

getPlayerAgentNames

public Collection getPlayerAgentNames()
Accesseur sur les noms des agents de la classe joueur.

Specified by:
getPlayerAgentNames in interface Application
Returns:
une nouvelle liste (éventuellement vide) contenant les noms des joueurs.

getPlayerNameFromAvatarName

public String getPlayerNameFromAvatarName(String inAvatarName)
Accesseur sur le nom d'un joueur à partir du nom de son avatar.

Specified by:
getPlayerNameFromAvatarName in interface Application
Parameters:
inAvatarName - nom de l'avatar
Returns:
le nom du joueur ou null si aucun joueur n'a cet avatar.

getSplashWindow

protected abstract SplashWindow getSplashWindow()
Crée et retourne la fenêtre de démarrage. Cette méthode n'est appelée qu'une seule fois.

Returns:
une fenêtre de démarrage.

setupApplication

protected void setupApplication(String[] inParams)
Initialisation avec les paramètres. Par défaut ne fait rien.

Parameters:
inParams - tableau de paramètres (peut être null).

setupServer

protected abstract void setupServer()
Démarre le serveur. Cette méthode est appelée avant la méthode start.


start

protected abstract void start()
Démarre l'application.


loadImages

void loadImages()
Charge les images (dans un processus léger séparé).


quit

public void quit()
Method called to quit the application.

Specified by:
quit in interface Application