package net.sourceforge.seqware.common.business; import net.sourceforge.seqware.common.model.Experiment; import net.sourceforge.seqware.common.model.FileType; import net.sourceforge.seqware.common.model.IUS; import net.sourceforge.seqware.common.model.Lane; 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.Study; /** * <p> * FileUploadService interface. * </p> * * @author boconnor * @version $Id: $Id */ public interface FileUploadService { /** Constant <code>NAME="FileUploadService"</code> */ public static final String NAME = "FileUploadService"; /** * <p> * uploadFile. * </p> * * @param study * a {@link net.sourceforge.seqware.common.model.Study} object. * @param uploadFile * a {@link net.sourceforge.seqware.common.business.UploadFile} object. * @param fileType * a {@link net.sourceforge.seqware.common.model.FileType} object. * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @throws java.lang.Exception * if any. */ public void uploadFile(Study study, UploadFile uploadFile, FileType fileType, Registration registration) throws Exception; /** * <p> * uploadFile. * </p> * * @param experiment * a {@link net.sourceforge.seqware.common.model.Experiment} object. * @param uploadFile * a {@link net.sourceforge.seqware.common.business.UploadFile} object. * @param fileType * a {@link net.sourceforge.seqware.common.model.FileType} object. * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @throws java.lang.Exception * if any. */ public void uploadFile(Experiment experiment, UploadFile uploadFile, FileType fileType, Registration registration) throws Exception; /** * <p> * uploadFile. * </p> * * @param sample * a {@link net.sourceforge.seqware.common.model.Sample} object. * @param uploadFile * a {@link net.sourceforge.seqware.common.business.UploadFile} object. * @param fileType * a {@link net.sourceforge.seqware.common.model.FileType} object. * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @throws java.lang.Exception * if any. */ public void uploadFile(Sample sample, UploadFile uploadFile, FileType fileType, Registration registration) throws Exception; /** * <p> * uploadFile. * </p> * * @param lane * a {@link net.sourceforge.seqware.common.model.Lane} object. * @param uploadFile * a {@link net.sourceforge.seqware.common.business.UploadFile} object. * @param fileType * a {@link net.sourceforge.seqware.common.model.FileType} object. * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @throws java.lang.Exception * if any. */ public void uploadFile(Lane lane, UploadFile uploadFile, FileType fileType, Registration registration) throws Exception; /** * <p> * uploadFile. * </p> * * @param ius * a {@link net.sourceforge.seqware.common.model.IUS} object. * @param uploadFile * a {@link net.sourceforge.seqware.common.business.UploadFile} object. * @param fileType * a {@link net.sourceforge.seqware.common.model.FileType} object. * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @throws java.lang.Exception * if any. */ public void uploadFile(IUS ius, UploadFile uploadFile, FileType fileType, Registration registration) throws Exception; /** * <p> * uploadFile. * </p> * * @param processing * a {@link net.sourceforge.seqware.common.model.Processing} object. * @param uploadFile * a {@link net.sourceforge.seqware.common.business.UploadFile} object. * @param fileType * a {@link net.sourceforge.seqware.common.model.FileType} object. * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @throws java.lang.Exception * if any. */ public void uploadFile(Processing processing, UploadFile uploadFile, FileType fileType, Registration registration) throws Exception; /** * <p> * uploadFile. * </p> * * @param sequencerRun * a {@link net.sourceforge.seqware.common.model.SequencerRun} object. * @param uploadFile * a {@link net.sourceforge.seqware.common.business.UploadFile} object. * @param fileType * a {@link net.sourceforge.seqware.common.model.FileType} object. * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @throws java.lang.Exception * if any. */ public void uploadFile(SequencerRun sequencerRun, UploadFile uploadFile, FileType fileType, Registration registration) throws Exception; }