public class DateBasedDiscreteEventActivator<A extends AbstractAgent> extends GenericBehaviorActivator<A> implements java.lang.Comparable<DateBasedDiscreteEventActivator<A>>
Constructor and Description |
---|
DateBasedDiscreteEventActivator(java.lang.String community,
java.lang.String group,
java.lang.String role,
java.lang.String theBehaviorToActivate) |
Modifier and Type | Method and Description |
---|---|
protected void |
adding(java.util.List<A> agents)
Called when a list of agents joins the corresponding group and role.
|
void |
allAgentsLeaveRole()
Makes all the agents leave the corresponding role at once.
|
int |
compareTo(DateBasedDiscreteEventActivator<A> o) |
void |
execute(java.util.List<A> agents,
java.lang.Object... args)
Triggers the corresponding behavior on all the agents which are at the CGR location defined by this activator.
|
java.lang.String |
getCommunity()
Gets the community to which this activator/probe is binded to.
|
java.util.List<A> |
getCurrentAgentsList()
Returns a snapshot at moment t of the agents handling the group/role couple
|
java.time.Duration |
getDefaultInterval() |
java.lang.String |
getGroup()
Gets the group to which this activator/probe is binded to.
|
java.time.LocalDateTime |
getNextActivationDate() |
int |
getPriority() |
java.lang.String |
getRole()
Gets the role to which this activator/probe is binded to.
|
java.util.List<A> |
getShuffledList()
Returns a ListIterator over the agents which is shuffled
|
void |
initialize()
Called by the MaDKit kernel when the Activator or Probe is first added.
|
void |
killAgents()
Kills all the agents which are monitored.
|
protected void |
removing(A agent)
This method is automatically called when an agent leaves the corresponding group and role.
|
protected void |
removing(java.util.List<A> agents)
This method is automatically called when a list of agents has leaved the corresponding group and role.
|
void |
setDefaultInterval(java.time.Duration defaultInterval) |
void |
setNextActivationDate(java.time.LocalDateTime nextActivationDate) |
void |
setPriority(int priority) |
int |
size()
Returns the number of the agents handling the group/role couple
|
java.lang.String |
toString()
returns a string containing the CGR location and the number of monitored agents.
|
getBehaviorName
adding, execute, findMethodOn, findMethodOnFromArgsSample, getMadkitServiceExecutor, getSimulationTime, isMulticoreModeOn, multicoreExecute, nbOfParallelTasks, useMulticore
public DateBasedDiscreteEventActivator(java.lang.String community, java.lang.String group, java.lang.String role, java.lang.String theBehaviorToActivate)
public int compareTo(DateBasedDiscreteEventActivator<A> o)
compareTo
in interface java.lang.Comparable<DateBasedDiscreteEventActivator<A extends AbstractAgent>>
public java.time.LocalDateTime getNextActivationDate()
public void setNextActivationDate(java.time.LocalDateTime nextActivationDate)
public void execute(java.util.List<A> agents, java.lang.Object... args)
GenericBehaviorActivator
execute
in class GenericBehaviorActivator<A extends AbstractAgent>
Activator.execute(List, Object...)
public int getPriority()
public void setPriority(int priority)
public java.lang.String toString()
toString
in class Activator<A extends AbstractAgent>
public java.time.Duration getDefaultInterval()
public void setDefaultInterval(java.time.Duration defaultInterval)
public java.lang.String getCommunity()
public java.lang.String getGroup()
public java.lang.String getRole()
public void initialize()
adding(getCurrentAgentsList());
protected void adding(java.util.List<A> agents)
AbstractAgent.launchAgentBucket(String, int, String...)
. Override this method when you want to do some
initialization on the agents that enter the group/role. Default implementation is:
protected void adding(final List<A> agents) { for (A agent : agents) { adding(agent); } }
agents
- the list of agents which have been added to this group/role at once.protected void removing(java.util.List<A> agents)
protected void removing(final List<A> agents) { for (A agent : agents) { removing(agent); } }
agents
- the list of agents which have been removed from this group/roleprotected void removing(A agent)
agent
- the agent which is being removed from this group/rolepublic int size()
public java.util.List<A> getCurrentAgentsList()
public java.util.List<A> getShuffledList()
public void killAgents()
public void allAgentsLeaveRole()
Fabien Michel, Olivier Gutknecht, Jacques Ferber - September 9 2019