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

Package class diagram package UDKCommunicationModule
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>
All Implemented Interfaces:
com.google.inject.Module
Direct Known Subclasses:
UDKBotModule, UDKObserverModule, UDKServerModule

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

Module extending RemoteGuiceAgentModule for the purpose of UDK communication specification.

Newly binded classes:

Mapped class Target Description
IWorldConnection -> SocketConnection Agent bus synchronizing starting/stopping/etc. events.
SocketConnection dependencies -> connectionDependenciesProvider
SocketConnection address-> UT2004BotModule#getAddressProvider()
{@link IWorldMessageParser} -> {@link UDKParser} Wrapper for the yylex parser of the messages coming from GameBotsUDK.
{@link IYylex} -> {@link IUDKYylex} Specifying yylex further.
{@link IUDKYylex} -> {@link Yylex} Specifying yylex further.
{@link IYylexObserver} -> {@link IYylexObserver.LogObserver} Yylex observer reporting errors.
{@link IUDKYylex} -> {@link Yylex} Concrete Yylex implementations that parses the messages coming from GameBotsUDK.
{@link ItemTranslator} -> {@link ItemTranslator} Object handling translation of INV messages.
{@link UDKAgentParameters} -> {@link UDKCommunicationModule#getAgentParamsProvider()} Agent parameters passed by the factory, contains additional runtime dependencies.

To have successful module the descendant must specify these missing bindings:
Mapped class Description
{@link IWorldView} Binds world view as vision world view.
{@link IWorldMessageTranslator} Protocol-validating translator of {@link InfoMessage}s of GameBotsUDK.
{@link IAgent}
... plus all newly introduced dependencies (by various implementors of mentioned interfaces).

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

Author:
Jimmy
See Also:
GuiceRemoteAgentModule, GuiceAgentModule

Field Summary
protected  AdaptableProvider<ComponentDependencies> connectionDependenciesProvider
           
 
Constructor Summary
UDKCommunicationModule()
           
 
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

connectionDependenciesProvider

protected AdaptableProvider<ComponentDependencies> connectionDependenciesProvider
Constructor Detail

UDKCommunicationModule

public UDKCommunicationModule()
Method Detail

prepareNewAgent

public void prepareNewAgent(PARAMS agentParameters)
Binds runtime dependencies to the module/Injector.

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

Overrides:
prepareNewAgent in class GuiceRemoteAgentModule<PARAMS extends UDKAgentParameters>
Parameters:
agentId -
address -

configureModules

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


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