본문 바로가기

약간 전문적인 지식/IT

APACHE(아파치)에서 제공하는 Common Validator 사용하기

APACHE(아파치)에서 제공하는

Common Validator사용하기

 

apache 에서 제공하는 common-validator jar 이란??

 => 데이터 Validator 체크를 위해서 공통클래스를 만들곤 하는데 이미 만들어진걸

씀으로서 수고를 덜 수 있는 방법!!

 

것을 잘 활용한다면 많은 수고를 덜수 있다. 열심히 만들어 사용할 수도 있지만.. 모방은 창조의 어머니(?)라는 말이 있듯이 이미 있는걸 찾아내 활용해서 확보되는 시간을 업무나 다른 활동에 중할수 있는것도 능력이라 할 수 있지 않을까 생각된다.

 

그렇다면! 이제 APACHE(아파치)에서 제공하는 Common Validator 사용하기에 관한 본격적인 내용을 살펴 봅시다~!!

 

http://commons.apache.org/validator/index.html

현재 1.3.1 까지 나와있는 상태이며 그대로 활용해도 되지만 ,

jar 내부에 제공하는 클래스들을 상속받아 좀더 구체적인 로직을 구현해서 사용하는것도 확장성 면에서 고려해볼만하다. 1.3. 에선 xml 검증 엔진도 추가 되어있다.

 

 

 

 

 

routines 패키지 내에 보면 구체적으로 Validator 체크를 할수 있도록 클래스가 제공된다.

클래스 이름만 봐도 어떤 종류의 데이터를 체크할수 있을지 감이 올 것이다.

그리고 제일 위 3개는 Abstract 라는 이름이 붙어있다. 이것은 추상클래스를 나타내며 3개를 제외한 클래스들에서 상속받아 구체적으로 구현한 것이다. 그러므로 3개를 제외한 클래스들을 쓰면 된다.

 

common-validator API 를 보면 http://commons.apache.org/validator/api-1.3.1/

설명에도 나와있지만 어떤 특정데이타를 다룰때 그 데이타에 해당하는 validator 체크할수 있도록 클래스가 분류 되어있는 것을 볼 수 있다. 

 

 

데이타에 대한 validator 가 아닌 일반적인 체크는 아래 클래스들을 사용하면되는데 보통 Genericvalidator 를 많이 사용한다.

 

[몇가지 함수예제]

 

public static boolean isBlankOrNull(String value) : blank or null 체크

public static boolean isByte(String value) : Byte 변환가능한지 여부

public static boolean isShort(String value) : Short 변환가능한지 여부

public static boolean isInRange(byte value, byte min, byte max)

범위지정한 곳에 속하는지에 대한 여부

 

[위 함수들을 사용해서 구현한 예제]

 

private static final int ID_CHECK_ID = 2;

   public void validateId(String id){

   if (!GenericValidator.minLength(id, ID_CHECK_ID)){

       throw new IllegalArgumentException("ID 길이가 너무 작다");

   }

}

 

반응형