package net.sourceforge.seqware.common.business; import java.util.List; import java.util.Set; import net.sourceforge.seqware.common.dao.FileDAO; import net.sourceforge.seqware.common.model.File; import net.sourceforge.seqware.common.model.Registration; /** * <p> * FileService interface. * </p> * * @author boconnor * @version $Id: $Id */ public interface FileService { /** Constant <code>NAME="fileService"</code> */ public static final String NAME = "fileService"; /** * <p> * setFileDAO. * </p> * * @param fileDAO * a {@link net.sourceforge.seqware.common.dao.FileDAO} object. */ public void setFileDAO(FileDAO fileDAO); /** * <p> * insert. * </p> * * @param file * a {@link net.sourceforge.seqware.common.model.File} object. */ public Integer insert(File file); /** * <p> * insert. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param file * a {@link net.sourceforge.seqware.common.model.File} object. * @return sw_accession for created file */ public Integer insert(Registration registration, File file); /** * <p> * update. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param file * a {@link net.sourceforge.seqware.common.model.File} object. */ public void update(Registration registration, File file); /** * <p> * update. * </p> * * @param file * a {@link net.sourceforge.seqware.common.model.File} object. */ public void update(File file); /** * <p> * delete. * </p> * * @param file * @param deleteRealFiles */ public void delete(File file, boolean deleteRealFiles); /** * <p> * deleteAll. * </p> * * @param file * @param deleteRealFiles */ public void deleteAll(List<File> file, boolean deleteRealFiles); /** * <p> * findByID. * </p> * * @param id * a {@link java.lang.Integer} object. * @return a {@link net.sourceforge.seqware.common.model.File} object. */ public File findByID(Integer id); /** * <p> * findByPath. * </p> * * @param path * a {@link java.lang.String} object. * @return a {@link net.sourceforge.seqware.common.model.File} object. */ public File findByPath(String path); /** * <p> * findBySWAccession. * </p> * * @param swAccession * a {@link java.lang.Integer} object. * @return a {@link net.sourceforge.seqware.common.model.File} object. */ public File findBySWAccession(Integer swAccession); /** * <p> * findByOwnerId. * </p> * * @param registrationId * a {@link java.lang.Integer} object. * @return a {@link java.util.List} object. */ public List<File> findByOwnerId(Integer registrationId); /** * <p> * getFiles. * </p> * * @param fileId * a {@link java.lang.Integer} object. * @return a {@link java.util.List} object. */ public List<File> getFiles(Integer fileId); /** * <p> * getFiles. * </p> * * @param fileId * 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 fileId, String metaType); /** * <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<File> setWithHasFile(Set<File> list, String metaType); /** * <p> * isExists. * </p> * * @param fileName * a {@link java.lang.String} object. * @param folderStore * a {@link java.lang.String} object. * @return a boolean. */ public boolean isExists(String fileName, String folderStore); /** * <p> * updateDetached. * </p> * * @param file * a {@link net.sourceforge.seqware.common.model.File} object. * @return a {@link net.sourceforge.seqware.common.model.File} object. */ public File updateDetached(File file); /** * <p> * updateDetached. * </p> * * @param registration * a {@link net.sourceforge.seqware.common.model.Registration} object. * @param file * a {@link net.sourceforge.seqware.common.model.File} object. * @return a {@link net.sourceforge.seqware.common.model.File} object. */ public File updateDetached(Registration registration, File file); /** * <p> * findByCriteria. * </p> * * @param criteria * a {@link java.lang.String} object. * @param isCaseSens * a boolean. * @return a {@link java.util.List} object. */ public List<File> findByCriteria(String criteria, boolean isCaseSens); /** * <p> * list. * </p> * * @return a {@link java.util.List} object. */ public List<File> list(); }