package gov.nysenate.openleg.processor.law;
import gov.nysenate.openleg.dao.base.LimitOffset;
import gov.nysenate.openleg.model.law.LawFile;
import gov.nysenate.openleg.processor.base.ProcessService;
import java.util.List;
public interface LawProcessService extends ProcessService
{
/**
* Identifies all incoming law files and saves a record of them into the database. The files
* are set as pending processing so that they are queued for ingestion.
*
* @return int - Number of law files collated
*/
public int collateLawFiles();
/**
* Retrieve a list of the files that are awaiting processing.
*
* @param limitOffset LimitOffset - Restrict the result set.
* @return List<LawFile>
*/
public List<LawFile> getPendingLawFiles(LimitOffset limitOffset);
/**
* Processes the given law files and updates the backing store as necessary.
*
* @param lawFiles List<LawFile>
*/
public void processLawFiles(List<LawFile> lawFiles);
/**
* Processes all the law files that are set as pending processing.
*/
public int processPendingLawFiles();
}