2011-10-14 1 views
11

Java 6 메타 모델 API를 사용하여 메소드의 매개 변수 유형을 찾으려고합니다. 형식이 열거 형인 경우 모든 형식의 열거 형 상수 이름을 알고 싶습니다. 여기에 제가 지금까지 가지고있는 것이 있습니다 :javax.lang.model.VariableElement에서 매개 변수 유형을 얻는 방법

for (Element member : members) { 
    if(member.getKind() == ElementKind.METHOD) { 
     ExecutableElement methodElement = (ExecutableElement) member; 
     List<? extends VariableElement> parameters = methodElement.getParameters(); 
     for (VariableElement parameter : parameters) { 
      //How do I get the type of the parameter here? 
     } 
    } 
} 

답변

10

Element#asType()은 당신에게 DeclaredType을줍니다.

열거 형의 경우 DeclaredType과 함께 Types#asElement()을 사용하여 열거 유형의 요소를 가져온 다음 ElementVisitor 또는 getEnclosedElements()를 사용하여 멤버를 반복합니다.

+0

감사! 지금 시도해보십시오. – Daniel

+14

비록 제가 도움이되지는 않았지만이 API가 내가 사용 해본 적이있는 가장 직관적이지 않은 API 중 하나라고 생각합니다. – Daniel