EpisimVaccinationEvent.java
package org.matsim.episim.events;
import org.matsim.api.core.v01.Id;
import org.matsim.api.core.v01.events.Event;
import org.matsim.api.core.v01.population.Person;
import org.matsim.core.api.internal.HasPersonId;
import org.matsim.episim.model.VaccinationType;
import java.util.Map;
/**
* Notifies about performed vaccinations.
*/
public class EpisimVaccinationEvent extends Event implements HasPersonId {
public static final String EVENT_TYPE = "episimVaccination";
public static final String TYPE = "vaccinationType";
public static final String N = "n";
private final Id<Person> personId;
private final VaccinationType type;
private final int n;
public EpisimVaccinationEvent(double time, Id<Person> personId, VaccinationType type, int n) {
super(time);
this.personId = personId;
this.type = type;
this.n = n;
}
@Override
public String getEventType() {
return EVENT_TYPE;
}
@Override
public Id<Person> getPersonId() {
return personId;
}
public VaccinationType getVaccinationType() {
return type;
}
@Deprecated
public boolean getReVaccination() {
return n > 1;
}
/**
* Number of vaccination. Starts at 1.
*/
public int getN() {
return n;
}
@Override
public Map<String, String> getAttributes() {
Map<String, String> attr = super.getAttributes();
attr.put(N, String.valueOf(n));
attr.put(TYPE, type.toString());
return attr;
}
}