package gov.nysenate.openleg.dao.hearing; import gov.nysenate.openleg.dao.base.LimitOffset; import gov.nysenate.openleg.model.hearing.PublicHearingFile; import java.io.IOException; import java.util.List; public interface PublicHearingFileDao { /** * Get PublicHearingFiles residing in the incoming hearing directory. * @param limOff Specifies the maximum number of PublicHearingFiles to fetch. * @return List of PublicHearingFile objects. * @throws IOException * @see gov.nysenate.openleg.model.hearing.PublicHearingFile */ public List<PublicHearingFile> getIncomingPublicHearingFiles(LimitOffset limOff) throws IOException; /** * Updates the backing store with a given instance or inserts it if the * record doesn't already exist. * @param publicHearingFile The {@link PublicHearingFile} to update. */ public void updatePublicHearingFile(PublicHearingFile publicHearingFile); /** * Moves the PublicHearingFile to an archive directory. Ensures that this * PublicHearingFile is not processed again by future calls to * {@link #getIncomingPublicHearingFiles(gov.nysenate.openleg.dao.base.LimitOffset)} * @param publicHearingFile The {@link PublicHearingFile} to archive. * @throws IOException */ public void archivePublicHearingFile(PublicHearingFile publicHearingFile) throws IOException; /** * Retrieves a list of PublicHearingFile that are awaiting processing. * @param limOff Specifies the maximum number of PublicHearingFiles to fetch. * @return */ public List<PublicHearingFile> getPendingPublicHearingFile(LimitOffset limOff); }