package gov.va.med.esr.service.external;

import gov.va.med.esr.common.model.ee.CombatEpisode;
import gov.va.med.esr.common.model.ee.MilitaryService;
import gov.va.med.esr.common.model.ee.MilitaryServiceEpisode;
import gov.va.med.esr.common.model.ee.MilitaryServiceSiteRecord;
import gov.va.med.esr.common.model.ee.POWEpisode;
import gov.va.med.esr.common.model.ee.PrisonerOfWar;
import gov.va.med.esr.common.model.ee.PurpleHeart;
import gov.va.med.esr.common.model.person.Person;
import gov.va.med.esr.service.external.person.CombatEpisodeInfo;
import gov.va.med.esr.service.external.person.MilitaryServiceEpisodeInfo;
import gov.va.med.esr.service.external.person.MilitaryServiceInfo;
import gov.va.med.esr.service.external.person.MilitaryServiceSiteRecordInfo;
import gov.va.med.esr.service.external.person.POWEpisodeInfo;
import gov.va.med.esr.service.external.person.PrisonerOfWarInfo;
import gov.va.med.esr.service.external.person.PurpleHeartInfo;
import gov.va.med.esr.service.external.person.collections.CombatEpisodeCollection;
import gov.va.med.esr.service.external.person.collections.MilitaryServiceEpisodeCollection;
import gov.va.med.esr.service.external.person.collections.MilitaryServiceSiteRecordCollection;
import gov.va.med.esr.service.external.person.collections.POWEpisodeCollection;

import java.util.Iterator;
import java.util.Set;

public interface MilitaryServiceFactory {

	public MilitaryServiceInfo getMilitaryServiceInfo(Person person);

	/**
	 private  CombatServiceInfo[] getCombatServices(Set combatServices) ;**/

	public  CombatEpisodeInfo[] getCombatEpisodes(Set combatEpisodes);

	public MilitaryServiceSiteRecordInfo[] getSiteReconds(
			Set militaryServiceSiteRecords);

	public MilitaryServiceEpisodeInfo[] getMSEpisodes(
			Set militaryServiceEpisodes);

	public PrisonerOfWarInfo getPOWInfo(Person person);

	public PurpleHeartInfo getPurpleHeartInfo(Person person);

}
