2013-03-12 4 views
2

내가 검증을 할 타원형을 사용하고, 그래서 우리는 다음과 같습니다 코드를 가지고 : 우리는 모든을 변경하는 설정 파일이있는 경우 나, 필요한 경우 동적 범위를 업데이트 할 수하고 싶은 말은주석을 반사로 덮어 쓰시겠습니까?

@NotNull(errorCode = "NumberInvalid") 
    @NotNegative(errorCode = "NumberInvalid") 
    @Range(errorCode = "NumberInvalid", min=1, max=10) 
    protected Integer dollarAmount; 

을 한 달 정도, 나는 그 유효성 검사의 변화를 반영 할 수 있기를 원합니다.

타원형의 모든 주석을 서브 클래 싱 할 필요가 없도록 반사 형으로이 작업을 수행 할 수있는 방법이 있습니까?

답변

0

나는 이것이 가능하지 않다는 것을 알고있다. 어노테이션 보존이 RUNTIME (유효성 검사를 위해 작동해야 함)으로 설정되었다고 가정하면 실제로 유효하게하는 것은 주석 인터페이스를 구현하는 프록시 클래스이므로 반영을 통해 값을 수정할 수는 없습니다.

0

주석이 정적 코드로 더 깨끗하게 보이지만 :) ... 방법이 있습니다. 반사를 사용하여 시도 했습니까? 접근 방식을 게시 할 수 있습니까? 좀 봐도 돼 this

0

반영 목적은 클래스 구성원 (설정 필드 포함) 에 액세스하는 것이지만 새 구성원 추가 또는 기존 선언 수정은 포함하지 않습니다. 원하는 것은 bytecode editing 또는 code refactoring과 더 비슷합니다.