package nlib.bbs.service;

import java.util.List;

import org.apache.commons.lang.StringEscapeUtils;

import nlib.cmm.service.PagingVO;
import nlib.util.StringUtil;

public class ArticleVO extends PagingVO {

	private String articleId;      /* 게시글ID */
	private String mngOrgCd;       /* 관리문화원코드 */
	private String mngOrgNm;       /* 관리문화원명 */
	private String bdType;	       /* 게시판유형 */
	private String bdTypeName;     /* 게시판유형명 */
	private String title;	       /* 제목 */
	private String content;	       /* 내용 */
	
	// 공지사항관련 
	private String notiYn;		   /* 공지여부 */
	private String openYn;		   /* 공개여부 */
	private String postStartDate;  /* 게시시작일자 */
	private String postEndDate;    /* 게시종료일자 */
	
	// FAQ, QNA관련 
	private String answer;             /* 답변 */
	private String answerYn;           /* 답변여부 */
	private String useYn;              /* 사용여부 */
	private String questionType;       /* 질문유형 */
	private String questionTypeName;   /* 질문유형명 */
	private String secretYn;           /* 비밀글여부 */
	private String emailRecvYn;        /* 답변이미엘수신여부 */
	private String email;              /* 이메일 */
	
	private int    viewCnt;                    /* 조회수 */
	private String bdAttachFileId;             /* 첨부파일아이디 */
	private String attachYn;                   /* 첨부파일존재여부 */
	private List<AttachFileVO> attachFiles;    /* 첨부파일목록 */
	private List<AttachFileVO> removedAttachFiles;    /* 삭제첨부파일목록 */
	

	private String regId;		       /* 등록자아이디 */
	private String regNm;		       /* 등록자명 */
	private String regDd;		       /* 등록일자  */
	private String modId;	           /* 등록자아이디 */
	private String modDd;	           /* 등록일자  */
	
	private int    rno;                /* 글번호 */
	private String loginedMbInfoId;    /* 로그인 사용자 ID */
	private String loginedName;        /* 로그인 사용자명 */
	private String myQnaYn;            /* 내가한 질문인지 여부 */ 
	
	// 검색관련 
	private String searchType;         /* 검색대상구분 */
	private String searchKeyword;      /* 검색어 */ 
	private String searchQuestionType; /* 검색FAQ유형 */
	private String searchMbInfoId;     /* 로그인한 사용자ID */

	// 처리결과 관련 
	private String resultMessage = null;     /* 처리결과메시지 */
	private String resultCode = null;     /* 처리결과코드 */ 
	
	
	public int getAttachFileCnt() {
		if(attachFiles == null) return 0;
		return attachFiles.size();
	}

	public String getUnescapedContent() {
		return StringEscapeUtils.unescapeHtml(content);
	}

	// SETTER & GETTER 
	public String getArticleId() {
		return articleId;
	}
	public void setArticleId(String articleId) {
		this.articleId = articleId;
	}
	public String getMngOrgCd() {
		return mngOrgCd;
	}
	public void setMngOrgCd(String mngOrgCd) {
		this.mngOrgCd = mngOrgCd;
	}
	public String getBdType() {
		return bdType;
	}
	public void setBdType(String bdType) {
		this.bdType = bdType;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public String getNotiYn() {
		return notiYn;
	}
	public void setNotiYn(String notiYn) {
		this.notiYn = notiYn;
	}
	public String getOpenYn() {
		return openYn;
	}
	public void setOpenYn(String openYn) {
		this.openYn = openYn;
	}
	public String getPostStartDate() {
		return postStartDate;
	}
	public void setPostStartDate(String postStartDate) {
		this.postStartDate = postStartDate;
	}
	public String getPostEndDate() {
		return postEndDate;
	}
	public void setPostEndDate(String postEndDate) {
		this.postEndDate = postEndDate;
	}
	public int getViewCnt() {
		return viewCnt;
	}
	public void setViewCnt(int viewCnt) {
		this.viewCnt = viewCnt;
	}
	public String getBdAttachFileId() {
		return bdAttachFileId;
	}
	public void setBdAttachFileId(String bdAttachFileId) {
		this.bdAttachFileId = bdAttachFileId;
	}
	public String getRegId() {
		return regId;
	}
	public void setRegId(String regId) {
		this.regId = regId;
	}
	public String getRegDd() {
		return regDd;
	}
	public void setRegDd(String regDd) {
		this.regDd = regDd;
	}
	public String getModId() {
		return modId;
	}
	public void setModId(String modId) {
		this.modId = modId;
	}
	public String getModDd() {
		return modDd;
	}
	public void setModDd(String modDd) {
		this.modDd = modDd;
	}
	public String getRegNm() {
		return regNm;
	}
	public void setRegNm(String regNm) {
		this.regNm = regNm;
	}
	public int getRno() {
		return rno;
	}
	public void setRno(int rno) {
		this.rno = rno;
	}
	public String getSearchType() {
		return searchType;
	}
	public void setSearchType(String searchType) {
		this.searchType = searchType;
	}
	public String getSearchKeyword() {
		return searchKeyword;
	}
	public String getEscapeSearchKeyword() {
		return StringUtil.getSqlSearchKeyword(searchKeyword);
	}
	public void setSearchKeyword(String searchKeyword) {
		this.searchKeyword = searchKeyword;
	}
	public String getAttachYn() {
		return attachYn;
	}
	public void setAttachYn(String attachYn) {
		this.attachYn = attachYn;
	}
	public String getMngOrgNm() {
		return mngOrgNm;
	}
	public void setMngOrgNm(String mngOrgNm) {
		this.mngOrgNm = mngOrgNm;
	}
	public String getBdTypeName() {
		return bdTypeName;
	}
	public void setBdTypeName(String bdTypeName) {
		this.bdTypeName = bdTypeName;
	}
	public List<AttachFileVO> getAttachFiles() {
		return attachFiles;
	}
	public void setAttachFiles(List<AttachFileVO> attachFiles) {
		if(attachFiles == null || attachFiles.size() < 1) this.attachFiles = null; 
		this.attachFiles = attachFiles;
	}

	public String getAnswerYn() {
		return StringUtil.isEmpty(answerYn) ? "N" : answerYn;
	}

	public void setAnswerYn(String answerYn) {
		this.answerYn = answerYn;
	}

	public String getUseYn() {
		return useYn;
	}

	public void setUseYn(String useYn) {
		this.useYn = useYn;
	}

	public String getQuestionType() {
		return questionType;
	}

	public void setQuestionType(String questionType) {
		this.questionType = questionType;
	}

	public String getQuestionTypeName() {
		return questionTypeName;
	}

	public void setQuestionTypeName(String questionTypeName) {
		this.questionTypeName = questionTypeName;
	}

	public String getAnswer() {
		return answer;
	}

	public void setAnswer(String answer) {
		this.answer = answer;
	}

	public String getSearchQuestionType() {
		return searchQuestionType;
	}

	public void setSearchQuestionType(String searchQuestionType) {
		this.searchQuestionType = searchQuestionType;
	}

	public String getSearchMbInfoId() {
		return searchMbInfoId;
	}

	public void setSearchMbInfoId(String searchMbInfoId) {
		this.searchMbInfoId = searchMbInfoId;
	}

	public String getSecretYn() {
		return secretYn;
	}

	public void setSecretYn(String secretYn) {
		this.secretYn = secretYn;
	}

	public String getLoginedMbInfoId() {
		return loginedMbInfoId;
	}

	public void setLoginedMbInfoId(String mbInfoId) {
		this.loginedMbInfoId = mbInfoId;
	}

	public String getMyQnaYn() {
		return StringUtil.isEmpty(myQnaYn) ? "N" : myQnaYn;
	}

	public void setMyQnaYn(String myQnaYn) {
		this.myQnaYn = myQnaYn;
	}

	public String getLoginedName() {
		return loginedName;
	}

	public void setLoginedName(String loginedName) {
		this.loginedName = loginedName;
	}

	public String getEmailRecvYn() {
		return StringUtil.isEmpty(emailRecvYn) ? "N" : emailRecvYn;
	}

	public void setEmailRecvYn(String emailRecvYn) {
		this.emailRecvYn = emailRecvYn;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getResultMessage() {
		return resultMessage;
	}

	public void setResultMessage(String resultMessage) {
		this.resultMessage = resultMessage;
	}

	public String getResultCode() {
		return resultCode;
	}

	public void setResultCode(String resultCode) {
		this.resultCode = resultCode;
	}

	public List<AttachFileVO> getRemovedAttachFiles() {
		return removedAttachFiles;
	}

	public void setRemovedAttachFiles(List<AttachFileVO> removedAttachFiles) {
		this.removedAttachFiles = removedAttachFiles;
	}

}
