본문

enum 활용 - 데이터 호출/검증

반응형

enum을 이용하여 데이터(값)를 조회한다.

 

아래는 은행코드를 enum으로 정의하고

외부로부터 입력받은 값과 enum을 비교하는 로직의 일부이다.

 

 

a) enum 정의 소스

package com.aimir.cms.constants;

public class CMSConstants {

	...
	
	public enum BANK_CODE {
		ADANSI_RURAL_BANK(3171,"ADANSI RURAL BANK"),
		AHANTAMAN_RURAL_BANK_ABURA(3172,"AHANTAMAN RURAL BANK-ABURA"),
		ASANTE_AKIM_RURAL_BANK_JUANSA(3173,"ASANTE AKIM RURAL BANK JUANSA"),
		UNITED_BANK_FOR_AFRICA_GHANA_LIMITED(1025,"UNITED BANK FOR AFRICA (GHANA) LIMITED"),
		UNIVERSAL_MERCHANT_BANK(1023,"UNIVERSAL MERCHANT BANK"),
		UT_BANK_LIMITED(1026,"UT BANK LIMITED"),
		ZENITH_BANK_GHANA_LIMITED(1019,"ZENITH BANK (GHANA) LIMITED");

		private int code;
		private String name;

		BANK_CODE(int code, String name) {
			this.code = code;
			 this.name = name;
		}
		
		public static BANK_CODE valueOf(int code) {
			for (BANK_CODE bankCode : BANK_CODE.values()) {
				if (bankCode.code == code) {
					return bankCode;
				}
			}

			return null;
		}
	}
	
}

 

b) 호출 소스

public void testMethod( String contractNumber,..) {	
	// bankCode 검증
	if (bankCode != null) {
		if (CMSConstants.BANK_CODE.valueOf(bankCode) == null) {
            System.out.println("Invalid bank code.");
		} else {
        	...
        }
	}
    
}
        

 

 

반응형

공유

댓글