package itn.let.cop.bbs.service;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;

import itn.com.cmm.service.FileVO;

/**
 * 게시물에 대한 데이터 처리 모델 클래스
 * @author 공통 서비스 개발팀 이삼섭
 * @since 2009.03.06
 * @version 1.0
 * @see
 *  
 * <pre>
 * << 개정이력(Modification Information) >>
 * 
 *   수정일      수정자          수정내용
 *  -------    --------    ---------------------------
 *  2009.03.06  이삼섭          최초 생성
 *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성 
 *  
 *  </pre>
 */
@SuppressWarnings("serial")
public class Board implements Serializable {

	/**
	 * 게시물 첨부파일 아이디
	 */
	private String atchFileId = "";
	/**
	 * 게시물 첨부파일 아이디
	 */
	private String fileSn = "";
	/**
	 * 게시물 첨부파일 개수
	 */
	private int atchFileCnt = 0;
	/**
	 * 게시판 아이디
	 */
	private String bbsId = "";
	
	private List<String> bbsIds ;
	
	/**
	 * 최초등록자 아이디
	 */
	private String frstRegisterId = "";
	/**
	 * 최초등록시점
	 */
	private String frstRegisterPnttm = "";
	/**
	 * 최종수정자 아이디
	 */
	private String lastUpdusrId = "";
	/**
	 * 최종수정자 이름(변경이력 사용)
	 */
	private String lastUpdusrNm = "";
	/**
	 * 최종수정시점
	 */
	private String lastUpdusrPnttm = "";
	/**
	 * 게시시작일
	 */
	private String ntceBgnde = "";
	/**
	 * 게시종료일
	 */
	private String ntceEndde = "";
	/**
	 * 게시자 아이디
	 */
	private String ntcrId = "";
	/**
	 * 게시자명
	 */
	private String ntcrNm = "";
	/**
	 * 게시물 내용
	 */
	private String nttCn = "";
	/**
	 * 게시물 내용(html제거)
	 */
	private String nttCn2 = "";
	/**
	 * 게시물 아이디
	 */
	private long nttId = 0L;
	/**
	 * 게시물 번호
	 */
	private long nttNo = 0L;
	/**
	 * 게시물 제목
	 */
	private String nttSj = "";
	/**
	 * 부모글번호
	 */
	private String parnts = "0";
	/**
	 * 패스워드
	 */
	private String password = "";
	
	/**
	 * 패스워드 확인
	 */
	private String password2 = "";
	/**
	 * 조회수
	 */
	private int inqireCo = 0;
	/**
	 * 답장여부
	 */
	private String replyAt = "";
	/**
	 * 답장위치
	 */
	private String replyLc = "0";
	/**
	 * 정렬순서
	 */
	private long sortOrdr = 0L;
	/**
	 * 사용여부
	 */
	private String useAt = "";
	/**
	 * 게시 종료일
	 */
	private String ntceEnddeView = ""; 
	/**
	 * 게시 시작일
	 */
	private String ntceBgndeView = "";
	
	/**
	 * 공지사항 여부 
	 */
	private String noticeAt = "";
	/**
	 * 비밀글 여부 
	 */
	private String secretAt = "";
	
	/** IP */
    private String ip = "";
	/**
	 * atchFileId attribute를 리턴한다.
	 * @return the atchFileId
	 */
    
    private String parntScttNo = "";
	/**
	 * 부서명 
	 */
    private String partTitle = "";
    /**
     * 부서전화번호 
     */
    private String offmTelno = "";
    
    /**
     * 등록자 IP 
     */
    private String ntcrIp = "";
    
    /**
     * 모바일 인증 값 
     */
    private String mblDn = "";
    
    private String newFlag = "";
    
    /**
     * 게시글 작성 미리보기 이미지 
     */
    private String previewImgs;
    
    /**
     * 사용자 구분(내부직원/협력가족/일반사용자) 
     */
    private String userTyCd;
    
    /**
     * 사용자 소속(사용자 구분이 내부직원/협력가족 인 경우) 
     */
    private String userPosition;
    
    /**
     * 사용자 구분 명 
     */
    private String userTyNm;
    
    /**
     * 신고 유형 
     */
    private String reportTyCd;
    
    /**
     * 신고 유형 
     */
    private String reportTyNm;
    
    /**
     * 답글 ID 
     */
    private long answerNttId = 0L;
    
    /**
     * 답글 개수 
     */
    private int answerCnt = 0;
    
    /*게시판 관리자 아이디*/
    private String  emplyrId = "";
    
    /* 썸네일 파일 ID */
    private String  thumbAtchFileId = ""; 
    
    /* 썸네일 파일 SN */
    private String  thumbAtchFileSn = ""; 
    
    /* 썸네일 파일 개수 */
    private String  thumbAtchFileCnt = ""; 
    
    /* 구분 명 */
    private String  seNm = ""; 
    
    /* 공공누리 마크 */
    private String  koglCn = ""; 
    
    /* 링크 URL */
    private String  linkUrl = ""; 
    
    /* 구분 공통코드ID */
    private String  seCmmnCdId = ""; 
    
    private String  seCd = ""; 
    
    private String  seCdTxt = ""; 
    
    private String searchSortCnd = "";	// 정렬 항목
   	private String searchSortOrd = "";	// 정렬 구분(오름/내림)
    
   	private String siteId = "";
   	
   	//사전정보공표
   	private String pubPeriod; //주기
   	
   	private String pubTime; //시기
   	
   	private String pubLink; //방법(링크)
   	
   	private String pubLinkTxt; //바로가기 게시판명 
   	
   	private String pubLoc;  //담당부서
   	
   	private long searchNttId = 0L;  //통합검색
   	
   	private String pubDetail;  //사전정보공표 디테일
   	
   	private List<FileVO> fileList = new ArrayList<FileVO>();  //리스트목록에서 파일들을 가져오기 위해
   	
	public String getSiteId() {
		return siteId;
	}

	public void setSiteId(String siteId) {
		this.siteId = siteId;
	}

	public String getAtchFileId() {
		return atchFileId;
	}

	/**
	 * atchFileId attribute 값을 설정한다.
	 * @param atchFileId the atchFileId to set
	 */
	public void setAtchFileId(String atchFileId) {
		this.atchFileId = atchFileId;
	}

	/**
	 * bbsId attribute를 리턴한다.
	 * @return the bbsId
	 */
	public String getBbsId() {
		return bbsId;
	}

	/**
	 * bbsId attribute 값을 설정한다.
	 * @param bbsId the bbsId to set
	 */
	public void setBbsId(String bbsId) {
		this.bbsId = bbsId;
	}

	/**
	 * frstRegisterId attribute를 리턴한다.
	 * @return the frstRegisterId
	 */
	public String getFrstRegisterId() {
		return frstRegisterId;
	}

	/**
	 * frstRegisterId attribute 값을 설정한다.
	 * @param frstRegisterId the frstRegisterId to set
	 */
	public void setFrstRegisterId(String frstRegisterId) {
		this.frstRegisterId = frstRegisterId;
	}

	/**
	 * frstRegisterPnttm attribute를 리턴한다.
	 * @return the frstRegisterPnttm
	 */
	public String getFrstRegisterPnttm() {
		return frstRegisterPnttm;
	}

	/**
	 * frstRegisterPnttm attribute 값을 설정한다.
	 * @param frstRegisterPnttm the frstRegisterPnttm to set
	 */
	public void setFrstRegisterPnttm(String frstRegisterPnttm) {
		this.frstRegisterPnttm = frstRegisterPnttm;
	}

	/**
	 * lastUpdusrId attribute를 리턴한다.
	 * @return the lastUpdusrId
	 */
	public String getLastUpdusrId() {
		return lastUpdusrId;
	}

	/**
	 * lastUpdusrId attribute 값을 설정한다.
	 * @param lastUpdusrId the lastUpdusrId to set
	 */
	public void setLastUpdusrId(String lastUpdusrId) {
		this.lastUpdusrId = lastUpdusrId;
	}

	/**
	 * lastUpdusrPnttm attribute를 리턴한다.
	 * @return the lastUpdusrPnttm
	 */
	public String getLastUpdusrPnttm() {
		return lastUpdusrPnttm;
	}

	/**
	 * lastUpdusrPnttm attribute 값을 설정한다.
	 * @param lastUpdusrPnttm the lastUpdusrPnttm to set
	 */
	public void setLastUpdusrPnttm(String lastUpdusrPnttm) {
		this.lastUpdusrPnttm = lastUpdusrPnttm;
	}

	/**
	 * ntceBgnde attribute를 리턴한다.
	 * @return the ntceBgnde
	 */
	public String getNtceBgnde() {
		return ntceBgnde;
	}

	/**
	 * ntceBgnde attribute 값을 설정한다.
	 * @param ntceBgnde the ntceBgnde to set
	 */
	public void setNtceBgnde(String ntceBgnde) {
		this.ntceBgnde = ntceBgnde;
	}

	/**
	 * ntceEndde attribute를 리턴한다.
	 * @return the ntceEndde
	 */
	public String getNtceEndde() {
		return ntceEndde;
	}

	/**
	 * ntceEndde attribute 값을 설정한다.
	 * @param ntceEndde the ntceEndde to set
	 */
	public void setNtceEndde(String ntceEndde) {
		this.ntceEndde = ntceEndde;
	}

	/**
	 * ntcrId attribute를 리턴한다.
	 * @return the ntcrId
	 */
	public String getNtcrId() {
		return ntcrId;
	}

	/**
	 * ntcrId attribute 값을 설정한다.
	 * @param ntcrId the ntcrId to set
	 */
	public void setNtcrId(String ntcrId) {
		this.ntcrId = ntcrId;
	}

	/**
	 * ntcrNm attribute를 리턴한다.
	 * @return the ntcrNm
	 */
	public String getNtcrNm() {
		return ntcrNm;
	}

	/**
	 * ntcrNm attribute 값을 설정한다.
	 * @param ntcrNm the ntcrNm to set
	 */
	public void setNtcrNm(String ntcrNm) {
		this.ntcrNm = ntcrNm;
	}

	/**
	 * nttCn attribute를 리턴한다.
	 * @return the nttCn
	 */
	public String getNttCn() {
		return nttCn;
	}

	/**
	 * nttCn attribute 값을 설정한다.
	 * @param nttCn the nttCn to set
	 */
	public void setNttCn(String nttCn) {
		this.nttCn = nttCn;
		this.nttCn2 = nttCn;
	}

	/**
	 * nttId attribute를 리턴한다.
	 * @return the nttId
	 */
	public long getNttId() {
		return nttId;
	}

	/**
	 * nttId attribute 값을 설정한다.
	 * @param nttId the nttId to set
	 */
	public void setNttId(long nttId) {
		this.nttId = nttId;
	}

	/**
	 * nttNo attribute를 리턴한다.
	 * @return the nttNo
	 */
	public long getNttNo() {
		return nttNo;
	}

	/**
	 * nttNo attribute 값을 설정한다.
	 * @param nttNo the nttNo to set
	 */
	public void setNttNo(long nttNo) {
		this.nttNo = nttNo;
	}

	/**
	 * nttSj attribute를 리턴한다.
	 * @return the nttSj
	 */
	public String getNttSj() {
		return nttSj;
	}

	/**
	 * nttSj attribute 값을 설정한다.
	 * @param nttSj the nttSj to set
	 */
	public void setNttSj(String nttSj) {
		this.nttSj = nttSj;
	}

	/**
	 * parnts attribute를 리턴한다.
	 * @return the parnts
	 */
	public String getParnts() {
		return parnts;
	}

	/**
	 * parnts attribute 값을 설정한다.
	 * @param parnts the parnts to set
	 */
	public void setParnts(String parnts) {
		this.parnts = parnts;
	}

	/**
	 * password attribute를 리턴한다.
	 * @return the password
	 */
	public String getPassword() {
		return password;
	}

	/**
	 * password attribute 값을 설정한다.
	 * @param password the password to set
	 */
	public void setPassword(String password) {
		this.password = password;
	}

	/**
	 * inqireCo attribute를 리턴한다.
	 * @return the inqireCo
	 */
	public int getInqireCo() {
		return inqireCo;
	}

	/**
	 * inqireCo attribute 값을 설정한다.
	 * @param inqireCo the inqireCo to set
	 */
	public void setInqireCo(int inqireCo) {
		this.inqireCo = inqireCo;
	}

	/**
	 * replyAt attribute를 리턴한다.
	 * @return the replyAt
	 */
	public String getReplyAt() {
		return replyAt;
	}

	/**
	 * replyAt attribute 값을 설정한다.
	 * @param replyAt the replyAt to set
	 */
	public void setReplyAt(String replyAt) {
		this.replyAt = replyAt;
	}

	/**
	 * replyLc attribute를 리턴한다.
	 * @return the replyLc
	 */
	public String getReplyLc() {
		return replyLc;
	}

	/**
	 * replyLc attribute 값을 설정한다.
	 * @param replyLc the replyLc to set
	 */
	public void setReplyLc(String replyLc) {
		this.replyLc = replyLc;
	}

	/**
	 * sortOrdr attribute를 리턴한다.
	 * @return the sortOrdr
	 */
	public long getSortOrdr() {
		return sortOrdr;
	}

	/**
	 * sortOrdr attribute 값을 설정한다.
	 * @param sortOrdr the sortOrdr to set
	 */
	public void setSortOrdr(long sortOrdr) {
		this.sortOrdr = sortOrdr;
	}

	/**
	 * useAt attribute를 리턴한다.
	 * @return the useAt
	 */
	public String getUseAt() {
		return useAt;
	}

	/**
	 * useAt attribute 값을 설정한다.
	 * @param useAt the useAt to set
	 */
	public void setUseAt(String useAt) {
		this.useAt = useAt;
	}

	/**
	 * ntceEnddeView attribute를 리턴한다.
	 * @return the ntceEnddeView
	 */
	public String getNtceEnddeView() {
		return ntceEnddeView;
	}

	/**
	 * ntceEnddeView attribute 값을 설정한다.
	 * @param ntceEnddeView the ntceEnddeView to set
	 */
	public void setNtceEnddeView(String ntceEnddeView) {
		this.ntceEnddeView = ntceEnddeView;
	}

	/**
	 * ntceBgndeView attribute를 리턴한다.
	 * @return the ntceBgndeView
	 */
	public String getNtceBgndeView() {
		return ntceBgndeView;
	}

	/**
	 * ntceBgndeView attribute 값을 설정한다.
	 * @param ntceBgndeView the ntceBgndeView to set
	 */
	public void setNtceBgndeView(String ntceBgndeView) {
		this.ntceBgndeView = ntceBgndeView;
	}

	/**
	 * toString 메소드를 대치한다.
	 */
	public String toString(){
		return ToStringBuilder.reflectionToString(this);
	}

	public String getPassword2() {
		return password2;
	}

	public void setPassword2(String password2) {
		this.password2 = password2;
	}

	public String getNoticeAt() {
		return noticeAt;
	}

	public void setNoticeAt(String noticeAt) {
		this.noticeAt = noticeAt;
	}

	public String getSecretAt() {
		return secretAt;
	}

	public void setSecretAt(String secretAt) {
		this.secretAt = secretAt;
	}

	public String getIp() {
		return ip;
	}

	public void setIp(String ip) {
		this.ip = ip;
	}

	public String getParntScttNo() {
		return parntScttNo;
	}

	public void setParntScttNo(String parntScttNo) {
		this.parntScttNo = parntScttNo;
	}

	/**
	 * atchFileCnt attribute를 리턴한다.
	 * @return the atchFileCnt
	 */
	public int getAtchFileCnt() {
		return atchFileCnt;
	}

	/**
	 * atchFileCnt attribute 값을 설정한다.
	 * @param atchFileCnt the atchFileCnt to set
	 */
	public void setAtchFileCnt(int atchFileCnt) {
		this.atchFileCnt = atchFileCnt;
	}

	/**
	 * @return the fileSn
	 */
	public String getFileSn() {
		return fileSn;
	}

	/**
	 * @param fileSn the fileSn to set
	 */
	public void setFileSn(String fileSn) {
		this.fileSn = fileSn;
	}

	/**
	 * @return the partTitle
	 */
	public String getPartTitle() {
		return partTitle;
	}

	/**
	 * @param partTitle the partTitle to set
	 */
	public void setPartTitle(String partTitle) {
		this.partTitle = partTitle;
	}

	/**
	 * @return the offmTelno
	 */
	public String getOffmTelno() {
		return offmTelno;
	}

	/**
	 * @param offmTelno the offmTelno to set
	 */
	public void setOffmTelno(String offmTelno) {
		this.offmTelno = offmTelno;
	}

	/**
	 * @return the lastUpdusrNm
	 */
	public String getLastUpdusrNm() {
		return lastUpdusrNm;
	}

	/**
	 * @param lastUpdusrNm the lastUpdusrNm to set
	 */
	public void setLastUpdusrNm(String lastUpdusrNm) {
		this.lastUpdusrNm = lastUpdusrNm;
	}

	/**
	 * @return the ntcrIp
	 */
	public String getNtcrIp() {
		return ntcrIp;
	}

	/**
	 * @param ntcrIp the ntcrIp to set
	 */
	public void setNtcrIp(String ntcrIp) {
		this.ntcrIp = ntcrIp;
	}

	/**
	 * @return the mblDn
	 */
	public String getMblDn() {
		return mblDn;
	}

	/**
	 * @param mblDn the mblDn to set
	 */
	public void setMblDn(String mblDn) {
		this.mblDn = mblDn;
	}

	public String getNewFlag() {
		return newFlag;
	}

	public void setNewFlag(String newFlag) {
		this.newFlag = newFlag;
	}

	/**
	 * @return the previewImgs
	 */
	public String getPreviewImgs() {
		return previewImgs;
	}

	/**
	 * @param previewImgs the previewImgs to set
	 */
	public void setPreviewImgs(String previewImgs) {
		this.previewImgs = previewImgs;
	}

	/**
	 * @return the nttCn2
	 */
	public String getNttCn2() {
		return nttCn2.replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", "");
	}

	/**
	 * @param nttCn2 the nttCn2 to set
	 */
	public void setNttCn2(String nttCn2) {
		this.nttCn2 = nttCn2;
	}

	/**
	 * @return the userTyCd
	 */
	public String getUserTyCd() {
		return userTyCd;
	}

	/**
	 * @param userTyCd the userTyCd to set
	 */
	public void setUserTyCd(String userTyCd) {
		this.userTyCd = userTyCd;
	}

	/**
	 * @return the userPosition
	 */
	public String getUserPosition() {
		return userPosition;
	}

	/**
	 * @param userPosition the userPosition to set
	 */
	public void setUserPosition(String userPosition) {
		this.userPosition = userPosition;
	}

	/**
	 * @return the userTyNm
	 */
	public String getUserTyNm() {
		return userTyNm;
	}

	/**
	 * @param userTyNm the userTyNm to set
	 */
	public void setUserTyNm(String userTyNm) {
		this.userTyNm = userTyNm;
	}

	/**
	 * @return the reportTyCd
	 */
	public String getReportTyCd() {
		return reportTyCd;
	}

	/**
	 * @param reportTyCd the reportTyCd to set
	 */
	public void setReportTyCd(String reportTyCd) {
		this.reportTyCd = reportTyCd;
	}

	/**
	 * @return the reportTyNm
	 */
	public String getReportTyNm() {
		return reportTyNm;
	}

	/**
	 * @param reportTyNm the reportTyNm to set
	 */
	public void setReportTyNm(String reportTyNm) {
		this.reportTyNm = reportTyNm;
	}

	/**
	 * @return the answerNttId
	 */
	public long getAnswerNttId() {
		return answerNttId;
	}

	/**
	 * @param answerNttId the answerId to set
	 */
	public void setAnswerNttId(long answerNttId) {
		this.answerNttId = answerNttId;
	}

	/**
	 * @return the answerCnt
	 */
	public int getAnswerCnt() {
		return answerCnt;
	}

	/**
	 * @param answerCnt the answerCnt to set
	 */
	public void setAnswerCnt(int answerCnt) {
		this.answerCnt = answerCnt;
	}

	public String getEmplyrId() {
		return emplyrId;
	}

	public void setEmplyrId(String emplyrId) {
		this.emplyrId = emplyrId;
	}

	public String getSeCd() {
		return seCd;
	}

	public void setSeCd(String seCd) {
		this.seCd = seCd;
	}

	public String getKoglCn() {
		return koglCn;
	}

	public void setKoglCn(String koglCn) {
		this.koglCn = koglCn;
	}

	public String getThumbAtchFileId() {
		return thumbAtchFileId;
	}

	public void setThumbAtchFileId(String thumbAtchFileId) {
		this.thumbAtchFileId = thumbAtchFileId;
	}

	public String getThumbAtchFileSn() {
		return thumbAtchFileSn;
	}

	public void setThumbAtchFileSn(String thumbAtchFileSn) {
		this.thumbAtchFileSn = thumbAtchFileSn;
	}

	public String getThumbAtchFileCnt() {
		return thumbAtchFileCnt;
	}

	public void setThumbAtchFileCnt(String thumbAtchFileCnt) {
		this.thumbAtchFileCnt = thumbAtchFileCnt;
	}

	public String getSeNm() {
		return seNm;
	}

	public void setSeNm(String seNm) {
		this.seNm = seNm;
	}

	public String getLinkUrl() {
		return linkUrl;
	}

	public void setLinkUrl(String linkUrl) {
		this.linkUrl = linkUrl;
	}

	public String getSeCmmnCdId() {
		return seCmmnCdId;
	}

	public void setSeCmmnCdId(String seCmmnCdId) {
		this.seCmmnCdId = seCmmnCdId;
	}

	public String getSearchSortCnd() {
		return searchSortCnd;
	}

	public void setSearchSortCnd(String searchSortCnd) {
		this.searchSortCnd = searchSortCnd;
	}

	public String getSearchSortOrd() {
		return searchSortOrd;
	}

	public void setSearchSortOrd(String searchSortOrd) {
		this.searchSortOrd = searchSortOrd;
	}

	public String getPubPeriod() {
		return pubPeriod;
	}

	public void setPubPeriod(String pubPeriod) {
		this.pubPeriod = pubPeriod;
	}

	public String getPubTime() {
		return pubTime;
	}

	public void setPubTime(String pubTime) {
		this.pubTime = pubTime;
	}

	public String getPubLink() {
		return pubLink;
	}

	public void setPubLink(String pubLink) {
		this.pubLink = pubLink;
	}

	public String getPubLoc() {
		return pubLoc;
	}

	public void setPubLoc(String pubLoc) {
		this.pubLoc = pubLoc;
	}

	public List<String> getBbsIds() {
		return bbsIds;
	}

	public void setBbsIds(List<String> bbsIds) {
		this.bbsIds = bbsIds;
	}

	public String getSeCdTxt() {
		return seCdTxt;
	}

	public void setSeCdTxt(String seCdTxt) {
		this.seCdTxt = seCdTxt;
	}

	public long getSearchNttId() {
		return searchNttId;
	}

	public void setSearchNttId(long searchNttId) {
		this.searchNttId = searchNttId;
	}

	public List<FileVO> getFileList() {
		return fileList;
	}

	public void setFileList(List<FileVO> fileList) {
		this.fileList = fileList;
	}

	public String getPubLinkTxt() {
		return pubLinkTxt;
	}

	public void setPubLinkTxt(String pubLinkTxt) {
		this.pubLinkTxt = pubLinkTxt;
	}

	public String getPubDetail() {
		return pubDetail;
	}

	public void setPubDetail(String pubDetail) {
		this.pubDetail = pubDetail;
	}
	
}
