package net.sourceforge.seqware.common.business; import java.util.List; import java.util.SortedSet; import net.sourceforge.seqware.common.dao.LaneDAO; import net.sourceforge.seqware.common.model.File; import net.sourceforge.seqware.common.model.FileType; import net.sourceforge.seqware.common.model.Lane; import net.sourceforge.seqware.common.model.Registration; import net.sourceforge.seqware.common.model.Sample; import net.sourceforge.seqware.common.model.UploadSequence; /** * <p> * LaneService interface. * </p> * * @author boconnor * @version $Id: $Id */ public interface LaneService { /** Constant <code>NAME="laneService"</code> */ public static final String NAME = "laneService"; /** * <p> * setLaneDAO. * </p> * * @param laneDAO * a {@link net.sourceforge.seqware.common.dao.LaneDAO} object. */ public void setLaneDAO(LaneDAO laneDAO); /** * <p> * insert. * </p> * * @param lane * a {@link net.sourceforge.seqware.common.model.Lane} object. */ public void insert(Lane lane); /** * <p> * insert. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param lane * a {@link net.sourceforge.seqware.common.model.Lane} object. * @return */ public Integer insert(Registration registration, Lane lane); /** * <p> * update. * </p> * * @param lane * a {@link net.sourceforge.seqware.common.model.Lane} object. */ public void update(Lane lane); /** * <p> * update. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param lane * a {@link net.sourceforge.seqware.common.model.Lane} object. */ public void update(Registration registration, Lane lane); /** * <p> * delete. * </p> * * @param lane * @param deleteRealFiles */ public void delete(Lane lane, boolean deleteRealFiles); /** * <p> * findByName. * </p> * * @param name * a {@link java.lang.String} object. * @return a {@link net.sourceforge.seqware.common.model.Lane} object. */ public Lane findByName(String name); /** * <p> * findByID. * </p> * * @param laneID * a {@link java.lang.Integer} object. * @return a {@link net.sourceforge.seqware.common.model.Lane} object. */ public Lane findByID(Integer laneID); /** * <p> * findBySWAccession. * </p> * * @param swAccession * a {@link java.lang.Integer} object. * @return a {@link net.sourceforge.seqware.common.model.Lane} object. */ public Lane findBySWAccession(Integer swAccession); /** * <p> * hasNameBeenUsed. * </p> * * @param oldName * a {@link java.lang.String} object. * @param newName * a {@link java.lang.String} object. * @return a boolean. */ public boolean hasNameBeenUsed(String oldName, String newName); /** * <p> * insertLane. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param sample * a {@link net.sourceforge.seqware.common.model.Sample} object. * @param uploadSequence * a {@link net.sourceforge.seqware.common.model.UploadSequence} object. * @param fileType * a {@link net.sourceforge.seqware.common.model.FileType} object. * @return a {@link java.lang.Integer} object. * @throws java.lang.Exception * if any. */ public Integer insertLane(Registration registration, Sample sample, UploadSequence uploadSequence, FileType fileType) throws Exception; /** * <p> * listFile. * </p> * * @param reqistration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param typeNode * a {@link java.lang.String} object. * @param list * a {@link java.util.List} object. * @param ids * an array of {@link java.lang.String} objects. * @param statuses * an array of {@link java.lang.String} objects. * @return a {@link java.util.List} object. */ public List<File> listFile(Registration reqistration, String typeNode, List<File> list, String[] ids, String[] statuses); /** * <p> * getFiles. * </p> * * @param laneId * a {@link java.lang.Integer} object. * @return a {@link java.util.List} object. */ public List<File> getFiles(Integer laneId); /** * <p> * isHasFile. * </p> * * @param laneId * a {@link java.lang.Integer} object. * @return a boolean. */ public boolean isHasFile(Integer laneId); /** * <p> * getFiles. * </p> * * @param studyId * 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 studyId, String metaType); /** * <p> * isHasFile. * </p> * * @param studyId * a {@link java.lang.Integer} object. * @param metaType * a {@link java.lang.String} object. * @return a boolean. */ public boolean isHasFile(Integer studyId, String metaType); /** * <p> * setWithHasFile. * </p> * * @param list * a {@link java.util.SortedSet} object. * @return a {@link java.util.SortedSet} object. */ public SortedSet<Lane> setWithHasFile(SortedSet<Lane> list); /** * <p> * listWithHasFile. * </p> * * @param list * a {@link java.util.SortedSet} object. * @param metaType * a {@link java.lang.String} object. * @return a {@link java.util.SortedSet} object. */ public SortedSet<Lane> listWithHasFile(SortedSet<Lane> list, String metaType); /** * <p> * list. * </p> * * @param laneIds * a {@link java.util.List} object. * @return a {@link java.util.List} object. */ public List<Lane> list(List<Integer> laneIds); /** * <p> * updateDetached. * </p> * * @param lane * a {@link net.sourceforge.seqware.common.model.Lane} object. * @return a {@link net.sourceforge.seqware.common.model.Lane} object. */ public Lane updateDetached(Lane lane); /** * <p> * updateDetached. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param lane * a {@link net.sourceforge.seqware.common.model.Lane} object. * @return a {@link net.sourceforge.seqware.common.model.Lane} object. */ public Lane updateDetached(Registration registration, Lane lane); /** * <p> * findByOwnerID. * </p> * * @param registrationId * a {@link java.lang.Integer} object. * @return a {@link java.util.List} object. */ public List<Lane> 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<Lane> findByCriteria(String criteria, boolean isCaseSens); /** * <p> * list. * </p> * * @return a {@link java.util.List} object. */ public List<Lane> list(); } // ex:sw=4:ts=4: