package fi.otavanopisto.muikku.schooldata.events;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import fi.otavanopisto.muikku.schooldata.SchoolDataIdentifier;
public class SchoolDataUserUpdatedEvent {
public SchoolDataUserUpdatedEvent(Long userEntityId, SchoolDataIdentifier environmentRoleIdentifier, List<SchoolDataIdentifier> discoveredIdentifiers, List<SchoolDataIdentifier> updatedIdentifiers,
List<SchoolDataIdentifier> removedIdentifiers, SchoolDataIdentifier defaultIdentifier, Map<SchoolDataIdentifier, List<String>> emails) {
super();
this.userEntityId = userEntityId;
this.environmentRoleIdentifier = environmentRoleIdentifier;
this.discoveredIdentifiers = discoveredIdentifiers;
this.updatedIdentifiers = updatedIdentifiers;
this.removedIdentifiers = removedIdentifiers;
this.defaultIdentifier = defaultIdentifier;
this.emails = emails;
}
public Long getUserEntityId() {
return userEntityId;
}
public SchoolDataIdentifier getEnvironmentRoleIdentifier() {
return environmentRoleIdentifier;
}
public List<SchoolDataIdentifier> getDiscoveredIdentifiers() {
return discoveredIdentifiers;
}
public List<SchoolDataIdentifier> getUpdatedIdentifiers() {
return updatedIdentifiers;
}
public List<SchoolDataIdentifier> getRemovedIdentifiers() {
return removedIdentifiers;
}
public SchoolDataIdentifier getDefaultIdentifier() {
return defaultIdentifier;
}
public Map<SchoolDataIdentifier, List<String>> getEmails() {
return emails;
}
public Collection<String> getAllEmails() {
HashSet<String> result = new HashSet<>();
Iterator<List<String>> emailIterator = emails.values().iterator();
while (emailIterator.hasNext()) {
result.addAll(emailIterator.next());
}
return result;
}
private Long userEntityId;
private SchoolDataIdentifier environmentRoleIdentifier;
private List<SchoolDataIdentifier> discoveredIdentifiers;
private List<SchoolDataIdentifier> updatedIdentifiers;
private List<SchoolDataIdentifier> removedIdentifiers;
private SchoolDataIdentifier defaultIdentifier;
private Map<SchoolDataIdentifier, List<String>> emails;
}