package net.sourceforge.seqware.common.business; import java.util.List; import java.util.Set; import net.sourceforge.seqware.common.dao.ProcessingDAO; import net.sourceforge.seqware.common.model.File; import net.sourceforge.seqware.common.model.Processing; import net.sourceforge.seqware.common.model.Registration; import net.sourceforge.seqware.common.model.Sample; import net.sourceforge.seqware.common.model.SequencerRun; import net.sourceforge.seqware.common.model.WorkflowRun; /** * <p> * ProcessingService interface. * </p> * * @author boconnor * @version $Id: $Id */ public interface ProcessingService { /** Constant <code>NAME="processingService"</code> */ public static final String NAME = "processingService"; /** * <p> * setProcessingDAO. * </p> * * @param processingDAO * a {@link net.sourceforge.seqware.common.dao.ProcessingDAO} object. */ public void setProcessingDAO(ProcessingDAO processingDAO); // public void insert(Processing processing); /** * <p> * insert. * </p> * * @param sequencerRun * a {@link net.sourceforge.seqware.common.model.SequencerRun} object. * @param processing * a {@link net.sourceforge.seqware.common.model.Processing} object. */ public void insert(SequencerRun sequencerRun, Processing processing); /** * <p> * insert. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param sequencerRun * a {@link net.sourceforge.seqware.common.model.SequencerRun} object. * @param processing * a {@link net.sourceforge.seqware.common.model.Processing} object. */ public void insert(Registration registration, SequencerRun sequencerRun, Processing processing); /** * Inserts a new Processing and returns its sw_accession number. * * @param processing * Processing to be inserted. * @return The SeqWare Accession number for the newly inserted Processing. */ public Integer insert(Processing processing); /** * <p> * insert. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param processing * a {@link net.sourceforge.seqware.common.model.Processing} object. * @return a {@link java.lang.Integer} object. */ public Integer insert(Registration registration, Processing processing); /** * <p> * update. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param processing * a {@link net.sourceforge.seqware.common.model.Processing} object. */ public void update(Registration registration, Processing processing); /** * <p> * update. * </p> * * @param processing * a {@link net.sourceforge.seqware.common.model.Processing} object. */ public void update(Processing processing); /** * <p> * delete. * </p> * * @param processing * @param deleteRealFiles */ public void delete(Processing processing, boolean deleteRealFiles); // public List<Processing> list(); // public Processing findByExperiment(Integer expID); /** * <p> * findByID. * </p> * * @param processingID * a {@link java.lang.Integer} object. * @return a {@link net.sourceforge.seqware.common.model.Processing} object. */ public Processing findByID(Integer processingID); /** * <p> * findByIDOnlyWithRunningWR. * </p> * * @param processingID * a {@link java.lang.Integer} object. * @return a {@link net.sourceforge.seqware.common.model.Processing} object. */ public Processing findByIDOnlyWithRunningWR(Integer processingID); /** * <p> * findBySWAccession. * </p> * * @param swAccession * a {@link java.lang.Integer} object. * @return a {@link net.sourceforge.seqware.common.model.Processing} object. */ public Processing findBySWAccession(Integer swAccession); /** * <p> * getFiles. * </p> * * @param processingId * a {@link java.lang.Integer} object. * @return a {@link java.util.List} object. */ public List<File> getFiles(Integer processingId); /** * <p> * getFiles. * </p> * * @param processingId * a {@link java.lang.Integer} object. * @param metaType * a {@link java.lang.String} object. * @return a {@link java.util.List} object. */ public List<File> getFiles(Integer processingId, String metaType); /** * <p> * isHasFile. * </p> * * @param processingId * a {@link java.lang.Integer} object. * @return a boolean. */ public boolean isHasFile(Integer processingId); /** * <p> * setWithHasFile. * </p> * * @param list * a {@link java.util.Set} object. * @return a {@link java.util.Set} object. */ public Set<Processing> setWithHasFile(Set<Processing> list); /** * <p> * setWithHasFile. * </p> * * @param list * a {@link java.util.Set} object. * @param metaType * a {@link java.lang.String} object. * @return a {@link java.util.Set} object. */ public Set<Processing> setWithHasFile(Set<Processing> list, String metaType); /** * <p> * updateDetached. * </p> * * @param processing * a {@link net.sourceforge.seqware.common.model.Processing} object. * @return a {@link net.sourceforge.seqware.common.model.Processing} object. */ public Processing updateDetached(Processing processing); /** * <p> * updateDetached. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param processing * a {@link net.sourceforge.seqware.common.model.Processing} object. * @return a {@link net.sourceforge.seqware.common.model.Processing} object. */ public Processing updateDetached(Registration registration, Processing processing); /** * <p> * findByOwnerID. * </p> * * @param registrationId * a {@link java.lang.Integer} object. * @return a {@link java.util.List} object. */ public List<Processing> findByOwnerID(Integer registrationId); /** * <p> * findByCriteria. * </p> * * @param criteria * a {@link java.lang.String} object. * @param isCaseSens * a boolean. * @return a {@link java.util.List} object. */ public List<Processing> findByCriteria(String criteria, boolean isCaseSens); /** * <p> * findFor. * </p> * * @param sample * a {@link net.sourceforge.seqware.common.model.Sample} object. * @param workflowRun * a {@link net.sourceforge.seqware.common.model.WorkflowRun} object. * @return a {@link java.util.Set} object. */ public Set<Processing> findFor(Sample sample, WorkflowRun workflowRun); /** * <p> * findFor. * </p> * * @param sample * a {@link net.sourceforge.seqware.common.model.Sample} object. * @return a {@link java.util.Set} object. */ public Set<Processing> findFor(Sample sample); /** * <p> * list. * </p> * * @return a {@link java.util.List} object. */ public List<Processing> list(); } // ex:sw=4:ts=4: