LightVoting
 All Classes Namespaces Files Functions Variables Pages
org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator Class Reference

Class CChairAgentGenerator. More...

Inherits IBaseAgentGenerator< CChairAgent >.

+ Collaboration diagram for org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator:

Public Member Functions

 CChairAgentGenerator (final InputStream p_stream, final CEnvironment p_environment, final String p_grouping, final String p_protocol, final String p_fileName) throws Exception
 constructor of the generator More...
 
final CChairAgent generatesingle (final Object...p_data)
 generator method of the agent More...
 

Private Attributes

final AtomicLong m_agentcounter = new AtomicLong()
 Current free agent id, needs to be thread-safe, therefore using AtomicLong. More...
 
final CEnvironment m_environment
 environment More...
 
final String m_fileName
 
final String m_grouping
 
String m_protocol
 

Detailed Description

Definition at line 410 of file CChairAgent.java.

Constructor & Destructor Documentation

org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.CChairAgentGenerator ( final InputStream  p_stream,
final CEnvironment  p_environment,
final String  p_grouping,
final String  p_protocol,
final String  p_fileName 
) throws Exception
Parameters
p_streamASL code as any stream e.g. FileInputStream
p_groupinggrouping algorithm
p_protocolvoting protocol
p_fileNameh5 file
Exceptions
ExceptionThrown if something goes wrong while generating agents.

Definition at line 435 of file CChairAgent.java.

References org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_environment, org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_fileName, org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_grouping, and org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_protocol.

438  {
439  super(
440  // input ASL stream
441  p_stream,
442 
443  // a set with all possible actions for the agent
444  Stream.concat(
445  // we use all build-in actions of LightJason
446  CCommon.actionsFromPackage(),
447  Stream.concat(
448  // use the actions which are defined inside the agent class
449  CCommon.actionsFromAgentClass( CChairAgent.class ),
450  // add VotingAgent related external actions
451  Stream.of(
452 
453  )
454  )
455  // build the set with a collector
456  ).collect( Collectors.toSet() ),
457 
458  // aggregation function for the optimisation function, here
459  // we use an empty function
460  IAggregation.EMPTY
461  );
462  m_environment = p_environment;
463  m_grouping = p_grouping;
464  m_protocol = p_protocol;
465  m_fileName = p_fileName;
466  }

Member Function Documentation

final CChairAgent org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.generatesingle ( final Object...  p_data)
Parameters
p_dataany data which can be put from outside to the generator method
Returns
returns an agent

Definition at line 475 of file CChairAgent.java.

References org.lightvoting.simulation.agent.CChairAgent.CChairAgent(), org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_agentcounter, org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_environment, org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_fileName, org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_grouping, and org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_protocol.

476  {
477  final CChairAgent l_chairAgent = new CChairAgent(
478  // create a string with the agent name "chair <number>"
479  // get the value of the counter first and increment, build the agent
480  // name with message format (see Java documentation)
481  MessageFormat.format( "chair {0}", m_agentcounter.getAndIncrement() ), m_configuration, m_environment, m_grouping, m_protocol, m_fileName );
482  l_chairAgent.sleep( Integer.MAX_VALUE );
483  return l_chairAgent;
484  }
CChairAgent(final String p_name, final IAgentConfiguration< CChairAgent > p_configuration, final CEnvironment p_environment, final String p_grouping, final String p_protocol, final String p_fileName)
constructor of the agent
final AtomicLong m_agentcounter
Current free agent id, needs to be thread-safe, therefore using AtomicLong.

+ Here is the call graph for this function:

Member Data Documentation

final AtomicLong org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_agentcounter = new AtomicLong()
private
final CEnvironment org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_environment
private
final String org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_fileName
private
final String org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_grouping
private
String org.lightvoting.simulation.agent.CChairAgent.CChairAgentGenerator.m_protocol
private