package com.anjlab.ping.services.dao; import java.util.List; import javax.persistence.EntityManager; import org.apache.tapestry5.jpa.annotations.CommitAfter; import com.anjlab.ping.entities.Job; import com.anjlab.ping.filters.RunJobFilter; import com.google.appengine.api.datastore.Key; public interface JobDAO { @CommitAfter public abstract List<Key> getJobsByCronString(String cronString); @CommitAfter public abstract Job delete(Long jobId); @CommitAfter public abstract void update(Job job, boolean commitAfter); @CommitAfter public abstract Job find(Long jobId); @CommitAfter public abstract Job find(Key jobKey); @CommitAfter public abstract List<Job> getAll(); /** * Used in non-tapestry code * * @param em * * @see RunJobFilter */ public abstract void setEntityManager(EntityManager em); @CommitAfter public abstract Job createJob(Job job); @CommitAfter public abstract List<Job> findByScheduleName(String scheduleName); @CommitAfter public abstract List<Job> findByPingURL(String string); // XXX public void onAfterCommitNewJob(Job job); }