cz.cuni.amis.pogamut.udk.factory.guice.remoteagent
Class UDKServerModule<PARAMS extends UDKAgentParameters>

Package class diagram package UDKServerModule
java.lang.Object
  extended by com.google.inject.AbstractModule
      extended by cz.cuni.amis.pogamut.base.factory.guice.GuiceAgentModule<PARAMS>
          extended by cz.cuni.amis.pogamut.base.factory.guice.GuiceCommunicationModule<PARAMS>
              extended by cz.cuni.amis.pogamut.base.factory.guice.GuiceRemoteAgentModule<PARAMS>
                  extended by cz.cuni.amis.pogamut.udk.factory.guice.remoteagent.UDKCommunicationModule<PARAMS>
                      extended by cz.cuni.amis.pogamut.udk.factory.guice.remoteagent.UDKServerModule<PARAMS>
All Implemented Interfaces:
com.google.inject.Module

public class UDKServerModule<PARAMS extends UDKAgentParameters>
extends UDKCommunicationModule<PARAMS>

Module extending UDKCommunicationModule for the purpose of UDKServer instantiation.

Introduces worldViewDependenciesProvider.

Newly binded classes:

Mapped class Target Description
IWorldMessageTranslator -> ServerFSM Protocol-validating translator of InfoMessages of GameBots2004.
IWorldView -> IVisionWorldView Binds world view as vision world view.
IVisionWorldView -> ILockableVisionWorldViewBinds vision world view as lockable one.
ILockableWorldView -> ILockableVisionWorldViewBinds lockable world view as vision world view.
ILockableVisionWorldView-> UDKLockableWorldView Binds world view with concrete implementation.
UDKLockableWorldView dependencies -> worldViewDependenciesProvider
IAgent -> IWorldServer
IWorldServer -> IUDKServer
IUDKServer -> UDKServer Binds concrete implementation of the agent.
To have successful module the descendant must specify these missing bindings:
Mapped class Description
nothing
... but all newly introduced dependencies (by various implementors of mentioned interfaces).

... don't forget to call super.configureModules() in the subclasses ;-)

Author:
Jimmy
See Also:
UDKCommunicationModule, GuiceRemoteAgentModule, GuiceAgentModule

Field Summary
protected  AdaptableProvider<ComponentDependencies> worldViewDependenciesProvider
          Dependency provider for the world view, so the world view know when to start.
 
Fields inherited from class cz.cuni.amis.pogamut.udk.factory.guice.remoteagent.UDKCommunicationModule
connectionDependenciesProvider
 
Constructor Summary
UDKServerModule()
           
 
Method Summary
protected  void configureModules()
           
 void prepareNewAgent(PARAMS agentParameters)
          Binds runtime dependencies to the module/Injector.
 
Methods inherited from class cz.cuni.amis.pogamut.base.factory.guice.GuiceRemoteAgentModule
getAddressProvider
 
Methods inherited from class cz.cuni.amis.pogamut.base.factory.guice.GuiceAgentModule
addModule, configure, createAgentScope, createAgentTeamScope, getAgentIdProvider, getAgentParamsProvider, getAgentScope, getAgentTeamScope
 
Methods inherited from class com.google.inject.AbstractModule
addError, addError, addError, bind, bind, bind, bindConstant, binder, bindInterceptor, bindListener, bindScope, configure, convertToTypes, currentStage, getMembersInjector, getMembersInjector, getProvider, getProvider, install, requestInjection, requestStaticInjection, requireBinding, requireBinding
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

worldViewDependenciesProvider

protected AdaptableProvider<ComponentDependencies> worldViewDependenciesProvider
Dependency provider for the world view, so the world view know when to start.

Constructor Detail

UDKServerModule

public UDKServerModule()
Method Detail

prepareNewAgent

public void prepareNewAgent(PARAMS agentParameters)
Description copied from class: UDKCommunicationModule
Binds runtime dependencies to the module/Injector.

Must be called before the new agent is instantiated with Injector.

Overrides:
prepareNewAgent in class UDKCommunicationModule<PARAMS extends UDKAgentParameters>

configureModules

protected void configureModules()
Overrides:
configureModules in class UDKCommunicationModule<PARAMS extends UDKAgentParameters>


Copyright © 2014 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.