public abstract class Simulator
extends java.lang.Object
Na zaciatku nainicializuje stav grafu, resp. modifikatorov.
Nasledne moze (nemusi) aplikovat ockovanie initialModifiers
.
Po spusteni simulacie iteruje podla nastavenia a v kazdom kroku vykona
1. aktualizuje stav modifikatorov (HealthModifier
) jednotlivych osob
2. aplikuje ockovanie. Rozdelenie modifikatorov ockovania manazuje VaccinationProvider
. Ten rozdeli pridelene
ockovacie modifikatory.
3. modfikatory schopne sirenia sa rozsiria (strategiu sirenia definuje simulator).
4. applikuje modifikatory na osoby (PersonImpl
).
Tato implementacia simulacie, simuluje paralelne sirenie modifikatorov v jednotlivych krokoch
Constructor and Description |
---|
Simulator(Environment environment,
VaccinationProvider vaccinationProvider)
Konstruktor
|
Modifier and Type | Method and Description |
---|---|
int |
getTime()
Vrati aktualny cas (den) simulacie
|
void |
initialModifiersApplication(java.util.Collection<org.fmph.knet.infection.Pair<org.fmph.knet.infection.simulator.PersonImpl,HealthModifier>> toApply)
Tato metoda applikuje pridelene modifikatory danym osobam.
|
abstract void |
logState(java.util.logging.Level level)
Metoda sluzi na logovanie stavu.
|
abstract HealthStatus |
resolveStatus(org.fmph.knet.infection.simulator.PersonImpl person)
Urcuje pravidla zdravotneho stavu.
|
void |
simulate()
Metoda bezi samotnu simulaciu.
|
public Simulator(Environment environment, VaccinationProvider vaccinationProvider)
environment
- prostredie s nastaveniami a grafomvaccinationProvider
- urcuje rozdelenie ockovacej latkypublic abstract HealthStatus resolveStatus(org.fmph.knet.infection.simulator.PersonImpl person)
person
- public final void simulate()
public void initialModifiersApplication(java.util.Collection<org.fmph.knet.infection.Pair<org.fmph.knet.infection.simulator.PersonImpl,HealthModifier>> toApply)
toApply
- public final int getTime()
public abstract void logState(java.util.logging.Level level)
level
-