package kcg.faics.cmmn.bbs; import java.util.List; import java.util.Map; import org.springframework.web.multipart.MultipartFile; /** * 게시판 공용 첨부파일 관련 서비스 Interface. * * @author kimnomin * * @param * 제네릭 타입. */ public interface BaseFileService { /** * 파일 정보를 반환한다. * * @param fileVO * 제네릭 타입의 파일 관련 VO * @return 제네릭 타입의 파일 정보 * @throws Exception * 기본 예외 처리 */ T select(T fileVO) throws Exception; /** * 파일 목록을 반환한다. * * @param fileVO * 제네릭 타입의 파일 관련 VO * @return 제네릭 타입의 파일 목록 * @throws Exception * 기본 예외 처리 */ List selectList(T fileVO) throws Exception; /** * 파일 정보를 입력한다. * * @param fileVO * 제네릭 타입의 File 관련 VO * @return 1-성공, 0-실패 * @throws Exception * 기본 예외 처리 */ int insert(T fileVO) throws Exception; /** * 파일 정보를 삭제한다. * * @param fileVO * 제네릭 타입의 File 관련 VO * @return 1-성공, 0-실패 * @throws Exception * 기본 예외 처리 */ int delete(T fileVO) throws Exception; /** * 파일을 폴더에 저장하고 파일 정보를 입력한다. * * @param fileVO * 제네릭 타입의 File 관련 VO * @param fileMap * 파일 객가 담긴 Map 객체 * @return 1-성공, 0-실패 * @throws Exception * 기본 예외 처리 */ int insertAndSaveFiles(T fileVO, Map fileMap) throws Exception; /** * 한 건의 파일을 폴더에서 제거하고 파일 정보를 삭제한다. * * @param fileVO * 제네릭 타입의 File 관련 VO * @return 1-성공, 0-실패 * @throws Exception * 기본 예외 처리 */ int deleteAndRemoveFile(T fileVO) throws Exception; /** * fileVO의 parentSeq인 모든 파일을 폴더에서 제거하고 파일 정보를 삭제한다. * * @param fileVO * 제네릭 타입의 File 관련 VO * @return 1-성공, 0-실패 * @throws Exception * 기본 예외 처리 */ int deleteAndRemoveFiles(T fileVO) throws Exception; }