madkit.simulation.probes
Class ReflexiveProbe

java.lang.Object
  extended by madkit.kernel.Probe<AbstractAgent>
      extended by madkit.simulation.probes.ReflexiveProbe
Direct Known Subclasses:
BeeColorProbe, BeePointProbe, ObjectProbe

public class ReflexiveProbe
extends Probe<AbstractAgent>

This class implements a dynamic probe on a given property.

Version:
3.1
Author:
Olivier Gutknecht, Fabien Michel

Field Summary
protected  java.util.Map<AbstractAgent,java.lang.reflect.Field> fields
           
 
Constructor Summary
ReflexiveProbe(java.lang.String group, java.lang.String role, java.lang.String property)
           
ReflexiveProbe(java.lang.String community, java.lang.String group, java.lang.String role, java.lang.String property)
           
 
Method Summary
 void findFields()
           
 A getAgentNb(int nb)
           
 java.util.ListIterator<A> getAgentsIterator()
          Deprecated. as of MadKit 4.3 : simply type getCurrentAgentsList().listIterator()
 boolean getBoolean(AbstractAgent theAgent)
           
 char getChar(AbstractAgent theAgent)
           
 java.lang.String getCommunity()
           
 java.util.List<A> getCurrentAgentsList()
           
 double getDouble(AbstractAgent theAgent)
           
 java.lang.String getGroup()
           
 long getLong(AbstractAgent theAgent)
           
 java.lang.Object getObject(AbstractAgent theAgent)
           
 java.lang.String getProperty()
           
 int getPropertyCount()
           
 java.lang.String getRole()
           
 java.util.List<A> getShuffledList()
           
 void initialize()
          this method is automatically invoked the first time the agents variable is updated so it's a good place to initialize activator's parameters like in the SingleMethodActivator for example
 int numberOfAgents()
           
 java.lang.String toString()
           
 void update(AbstractAgent theAgent, boolean added)
          this method is automatically invoked when changes occur on the considered group/role couple
 void updateFieldFor(AbstractAgent theAgent)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

fields

protected java.util.Map<AbstractAgent,java.lang.reflect.Field> fields
Constructor Detail

ReflexiveProbe

public ReflexiveProbe(java.lang.String group,
                      java.lang.String role,
                      java.lang.String property)

ReflexiveProbe

public ReflexiveProbe(java.lang.String community,
                      java.lang.String group,
                      java.lang.String role,
                      java.lang.String property)
Method Detail

getProperty

public java.lang.String getProperty()

findFields

public void findFields()

initialize

public void initialize()
Description copied from class: Probe
this method is automatically invoked the first time the agents variable is updated so it's a good place to initialize activator's parameters like in the SingleMethodActivator for example

Overrides:
initialize in class Probe<AbstractAgent>

update

public void update(AbstractAgent theAgent,
                   boolean added)
Description copied from class: Probe
this method is automatically invoked when changes occur on the considered group/role couple

Overrides:
update in class Probe<AbstractAgent>
Parameters:
theAgent - is the agent which have been added or removed from the agents collection (a List)
added - is true is theAgent has been added to the agents, false if removed from it

updateFieldFor

public void updateFieldFor(AbstractAgent theAgent)

getDouble

public double getDouble(AbstractAgent theAgent)

getLong

public long getLong(AbstractAgent theAgent)

getBoolean

public boolean getBoolean(AbstractAgent theAgent)

getChar

public char getChar(AbstractAgent theAgent)

getObject

public java.lang.Object getObject(AbstractAgent theAgent)

getPropertyCount

public int getPropertyCount()

getAgentsIterator

public final java.util.ListIterator<A> getAgentsIterator()
Deprecated. as of MadKit 4.3 : simply type getCurrentAgentsList().listIterator()

Returns:
a ListIterator over the agents that handle the group/role couple
Since:
MadKit 3.0

getShuffledList

public final java.util.List<A> getShuffledList()
Returns:
a ListIterator which has been previously shuffled
Since:
MadKit 3.0

getCurrentAgentsList

public final java.util.List<A> getCurrentAgentsList()
Returns:
a list view (a snapshot at moment t) of the agents that handle the group/role couple (in proper sequence)
Since:
MadKit 3.0

numberOfAgents

public final int numberOfAgents()
Returns:
the number of the agents that handle the group/role couple

getAgentNb

public final A getAgentNb(int nb)

getCommunity

public final java.lang.String getCommunity()

getGroup

public final java.lang.String getGroup()

getRole

public final java.lang.String getRole()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © Madkit Team (O. Gutknecht, J. Ferber, F. Michel et al.) All Rights Reserved.