package net.agef.jobexchange.integration;
import java.util.Collection;
import java.util.List;
import org.apache.tapestry5.hibernate.annotations.CommitAfter;
import org.chenillekit.hibernate.daos.GenericDAO;
import net.agef.jobexchange.domain.Country;
import net.agef.jobexchange.domain.JobActiveEnum;
import net.agef.jobexchange.domain.JobImpl;
import net.agef.jobexchange.domain.Territory;
public interface JobDAO extends GenericDAO<JobImpl, Long>{
public Collection<JobImpl> findByCriteria(String criteria);
public Collection<JobImpl> findJobOffersByUser(Long userId);
public List<JobImpl> findAll();
public Collection<JobImpl> findJobOffersByUserAndOnlineState(Long userId, Boolean onlineState);
public Collection<JobImpl> findOutdatedJobOffers();
public Collection<JobImpl> findUpdatedJobOffers();
public JobImpl findJobOfferByCobraId(Long cobraJobId);
@CommitAfter
public JobImpl doRetrieve(Long jobOfferId, boolean detached);
@CommitAfter
public JobImpl doSave(JobImpl jobOffer);
@CommitAfter
public JobImpl doRefresh(JobImpl jobOffer);
@CommitAfter
public void doDelete(Long jobOfferId);
@CommitAfter
public void doDelete(JobImpl jobOffer);
@CommitAfter
public void doDeleteByCobraId(Long cobraJobId);
@CommitAfter
public Collection<JobImpl> findJobOffersByUserAndCriteria(Long userId, JobActiveEnum jobActive, Country country, Territory territory, int numberOfResults, int indexStart);
}