package cokr.xit.ens.biz.traffic.cheonan.code;

import cokr.xit.ens.core.code.CodeMapperType;


/**
 * 주정차웹 전자고지 발송결과상태 코드
 */
public enum SndngResultSttusCd implements CodeMapperType {

    UNKNOWN("알수없음")

    , REG("등록")
    , MAKING("제작")
   
    , ACPT_OK("접수요청성공")
    , ACPT_FAIL("접수실패") 
    , ACPT_CMPLT("접수완료")


    , UNIDENTIFIED_USER("비회원")         
    , FORBIDDEN("수신거부")               
    , INVALID_VALUE("파라미터 오류")       
    , INTERNAL_ERROR("API 서버 내부 오류")
    , INVALID_REQUEST("유효하지 않은 요청") 
    , FORBIDDEN_USER("허용되지 않은 사용자")
   
    , FAIL("전송실패")  
    , SENT("송신")     
    , RECEIVED("수신") 
    , READ("열람")     
    , EXPIRED("만료")  
    ;

    private final String code;     
    private final String codeNm;   

    SndngResultSttusCd(String codeNm) {
        this.code = this.name();
        this.codeNm = codeNm;
    }

    @Override
    public String getCode() {
        return this.code;
    }

    @Override
    public String getCodeNm() {
        return this.codeNm;
    }


    public static SndngResultSttusCd valueOfEnum(String statCd) {
        if (statCd == null)
            return SndngResultSttusCd.UNKNOWN;

        SndngResultSttusCd sndngResultSttusCd = null;
        try {
            sndngResultSttusCd = SndngResultSttusCd.valueOf(statCd);
        } catch (IllegalArgumentException e) {
            sndngResultSttusCd = SndngResultSttusCd.UNKNOWN;
        }
        return sndngResultSttusCd;
    }
}
