MATSIM
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
org.matsim.households.HouseholdsAlgorithmRunner Class Reference

Public Member Functions

final void runAlgorithms (Households hh)
 
void runAlgorithms (Household h)
 
final void clearAlgorithms ()
 
boolean removeAlgorithm (final HouseholdAlgorithm algorithm)
 
final void addAlgorithm (final HouseholdAlgorithm algorithm)
 

Private Attributes

final List< HouseholdAlgorithmhouseholdAlgorithms = new ArrayList<HouseholdAlgorithm>()
 

Static Private Attributes

static final Logger log = LogManager.getLogger(HouseholdsAlgorithmRunner.class)
 

Detailed Description

Author
jjoubert
dgrether

Definition at line 36 of file HouseholdsAlgorithmRunner.java.

Member Function Documentation

◆ runAlgorithms() [1/2]

final void org.matsim.households.HouseholdsAlgorithmRunner.runAlgorithms ( Households  hh)

Run all the algorithms added to the container.

Definition at line 45 of file HouseholdsAlgorithmRunner.java.

References org.matsim.households.Households.getHouseholds(), org.matsim.core.utils.misc.Counter.incCounter(), org.matsim.core.utils.misc.Counter.printCounter(), and org.matsim.households.algorithms.HouseholdAlgorithm.run().

Referenced by org.matsim.households.HouseholdsStreamingReaderV10.endTag().

45  {
46  for(int i = 0; i < this.householdAlgorithms.size(); i++){
47  HouseholdAlgorithm algorithm = this.householdAlgorithms.get(i);
48  log.info("Running algorithm " + algorithm.getClass().getName());
49  Counter c = new Counter (" household # ");
50  for(Household household : hh.getHouseholds().values()){
51  algorithm.run(household);
52  c.incCounter();
53  }
54  c.printCounter();
55  log.info("Done running algorithm.");
56  }
57  }
Here is the call graph for this function:

◆ runAlgorithms() [2/2]

void org.matsim.households.HouseholdsAlgorithmRunner.runAlgorithms ( Household  h)

Definition at line 59 of file HouseholdsAlgorithmRunner.java.

References org.matsim.api.core.v01.Identifiable< T >.getId().

59  {
60  for(HouseholdAlgorithm algorithm : this.householdAlgorithms){
61  log.info("Running algorithm " + algorithm.getClass().getName() + " on household " + h.getId());
62  algorithm.run(h);
63  }
64  }
Here is the call graph for this function:

◆ clearAlgorithms()

final void org.matsim.households.HouseholdsAlgorithmRunner.clearAlgorithms ( )

Removes all the algorithms from the Households container.

Definition at line 70 of file HouseholdsAlgorithmRunner.java.

70  {
71  this.householdAlgorithms.clear();
72  }

◆ removeAlgorithm()

boolean org.matsim.households.HouseholdsAlgorithmRunner.removeAlgorithm ( final HouseholdAlgorithm  algorithm)

Removes the first instance found of the algorithm from the list. It is possible that the same algorithm can appear multiple times in the list.

Parameters
algorithm
Returns

Definition at line 80 of file HouseholdsAlgorithmRunner.java.

80  {
81  return this.householdAlgorithms.remove(algorithm);
82  }

◆ addAlgorithm()

final void org.matsim.households.HouseholdsAlgorithmRunner.addAlgorithm ( final HouseholdAlgorithm  algorithm)

Add the algorithm to the container. Algorithms will be executed in the same sequence in which they are added.

Parameters
algorithm

Definition at line 90 of file HouseholdsAlgorithmRunner.java.

90  {
91  this.householdAlgorithms.add(algorithm);
92  }

Member Data Documentation

◆ log

final Logger org.matsim.households.HouseholdsAlgorithmRunner.log = LogManager.getLogger(HouseholdsAlgorithmRunner.class)
staticprivate

Definition at line 38 of file HouseholdsAlgorithmRunner.java.

◆ householdAlgorithms

final List<HouseholdAlgorithm> org.matsim.households.HouseholdsAlgorithmRunner.householdAlgorithms = new ArrayList<HouseholdAlgorithm>()
private

Definition at line 40 of file HouseholdsAlgorithmRunner.java.


The documentation for this class was generated from the following file: