FAICS/src/main/java/kcg/faics/cmmn/bbs/BaseFileService.java

98 lines
2.3 KiB
Java

package kcg.faics.cmmn.bbs;
import java.util.List;
import java.util.Map;
import org.springframework.web.multipart.MultipartFile;
/**
* 게시판 공용 첨부파일 관련 서비스 Interface.
*
* @author kimnomin
*
* @param <T>
* 제네릭 타입.
*/
public interface BaseFileService<T> {
/**
* 파일 정보를 반환한다.
*
* @param fileVO
* 제네릭 타입의 파일 관련 VO
* @return 제네릭 타입의 파일 정보
* @throws Exception
* 기본 예외 처리
*/
T select(T fileVO) throws Exception;
/**
* 파일 목록을 반환한다.
*
* @param fileVO
* 제네릭 타입의 파일 관련 VO
* @return 제네릭 타입의 파일 목록
* @throws Exception
* 기본 예외 처리
*/
List<T> 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<String, MultipartFile> 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;
}