/**
 * Memo 관련 인터페이스
 */
package org.springframework.samples.kyuriboard.dao;

import java.util.List;

import org.springframework.samples.kyuriboard.domain.Memo;
import org.springframework.dao.DataAccessException;

/**
 * @author DAMI(archy712@naver.com)
 *
 */
public interface MemoDao {
	
	
	/**
	 * 주어진 메모ID로 메모를 반환한다.
	 * @param memoId 메모ID
	 * @return Memo 메모 객체
	 * @throws DataAccessException
	 */
	Memo getMemoByMemoId(int memoId) throws DataAccessException;
	
	
	/**
	 * 주어진 게시판ID로 메모 리스트를 반환한다.
	 * @param boardId 게시판ID
	 * @return java.util.List
	 * @throws DataAccessException
	 */
	List getMemoListByBoardId(int boardId) throws DataAccessException;
	
	
	/**
	 * 메모를 입력한다.
	 * @param memo 메모 객체
	 * @throws DataAccessException
	 */
	void insertMemo(Memo memo) throws DataAccessException;
	
	
	/**
	 * 메모를 수정한다
	 * @param memo 메모 객체
	 * @throws DataAccessException
	 */
	void updateMemo(Memo memo) throws DataAccessException;
	
	
	/**
	 * 메모를 삭제한다
	 * @param memoId 삭제할 메모 ID
	 * @throws DataAccessException
	 */
	void deleteMemo(int memoId) throws DataAccessException;
	
	
	/**
	 * 주어진 게시물ID에 해당하는 메모들을 삭제한다
	 * @param boardId 삭제할 게시물 ID
	 * @throws DataAccessException
	 */
	void deleteMemoByBoardId(int boardId) throws DataAccessException;
}
