package gov.nysenate.openleg.service.hearing.data; import gov.nysenate.openleg.dao.base.LimitOffset; import gov.nysenate.openleg.dao.base.SortOrder; import gov.nysenate.openleg.model.base.SessionYear; import gov.nysenate.openleg.model.hearing.PublicHearing; import gov.nysenate.openleg.model.hearing.PublicHearingFile; import gov.nysenate.openleg.model.hearing.PublicHearingId; import java.util.List; public interface PublicHearingDataService { /** * Retrieves a {@link PublicHearing} instance from a {@link PublicHearingId}. * @param publicHearingId * @return */ public PublicHearing getPublicHearing(PublicHearingId publicHearingId) throws PublicHearingNotFoundEx; /** * Retrieves a List of {@link PublicHearingId}. * @param limitOffset Restrict the number of results. * @return */ public List<PublicHearingId> getPublicHearingIds(SortOrder order, LimitOffset limitOffset); /** * Saves a {@link PublicHearing} to the backing store. * The PublicHearing is inserted if it is a new instance, Updated otherwise. * @param publicHearing * @param publicHearingFile * @param postUpdateEvent */ public void savePublicHearing(PublicHearing publicHearing, PublicHearingFile publicHearingFile, boolean postUpdateEvent); }