JavaTM Platform
Standard Ed. 6

javax.lang.model.util
인터페이스 Elements



public interface Elements

프로그램 요소로 조작을 행하기 위한 유틸리티 메소드.

호환성에 관한 주: 플랫폼의 장래의 릴리스에서는, 이 인터페이스에 메소드가 추가될 가능성이 있습니다.

도입된 버젼:
1.6
관련 항목:
ProcessingEnvironment.getElementUtils()

메소드의 개요
 List <? extends AnnotationMirror > getAllAnnotationMirrors (Element  e)
          상속되고 있을까 직접 존재하고 있을까에 관계없이, 요소의 모든 주석을 돌려줍니다.
 List <? extends Element > getAllMembers (TypeElement  type)
          상속되고 있을까 직접 선언되고 있을까에 관계없이, 형태 요소의 모든 멤버를 돌려줍니다.
 Name getBinaryName (TypeElement  type)
          형태 요소의 「바이너리명」을 돌려줍니다.
 String getConstantExpression (Object  value)
          프리미티브(primitive)치 또는 캐릭터 라인을 나타내는 「정수식」의 텍스트를 돌려줍니다.
 String getDocComment (Element  e)
          요소의 다큐멘테이션 ("Javadoc") 코멘트의 텍스트를 돌려줍니다.
 Map <? extends ExecutableElement ,? extends AnnotationValue > getElementValuesWithDefaults (AnnotationMirror  a)
          디폴트를 포함한 주석의 요소의 값을 돌려줍니다.
 Name getName (CharSequence  cs)
          인수와 같은 문자 순서를 가지는 이름을 돌려줍니다.
 PackageElement getPackageElement (CharSequence  name)
          완전 수식명이 지정된 패키지를 돌려줍니다.
 PackageElement getPackageOf (Element  type)
          요소의 패키지를 돌려줍니다.
 TypeElement getTypeElement (CharSequence  name)
          정규명이 지정된 형태 요소를 돌려줍니다.
 boolean hides (Element  hider, Element  hidden)
          형태, 메소드, 또는 필드가 다른 것을 덮어 가리고 있는지 어떤지를 테스트합니다.
 boolean isDeprecated (Element  e)
          요소가 비추천의 경우는 true 를 돌려줍니다.
 boolean overrides (ExecutableElement  overrider, ExecutableElement  overridden, TypeElement  type)
          지정된 형태의 멤버인 메소드가 다른 메소드를 오버라이드(override) 할지 어떨지를 테스트합니다.
 void printElements (Writer  w, Element ... elements)
          요소의 표현을, 지정된 순서로, 지정된 라이터에 출력합니다.
 

메소드의 상세

getPackageElement

PackageElement  getPackageElement(CharSequence  name)
완전 수식명이 지정된 패키지를 돌려줍니다.

파라미터:
name - 완전 수식 패키지명. 이름이 없는 패키지의 경우는 ""
반환값:
이름 첨부 패키지. 발견되고 (안)중 있고 경우는 null

getTypeElement

TypeElement  getTypeElement(CharSequence  name)
정규명이 지정된 형태 요소를 돌려줍니다.

파라미터:
name - 정규명
반환값:
이름 첨부형 요소. 발견되고 (안)중 있고 경우는 null

getElementValuesWithDefaults

Map <?  extends ExecutableElement ,?  extends AnnotationValue > getElementValuesWithDefaults(AnnotationMirror  a)
디폴트를 포함한 주석의 요소의 값을 돌려줍니다.

파라미터:
a - 조사하는 대상의 주석
반환값:
디폴트를 포함한 주석의 요소의 값
관련 항목:
AnnotationMirror.getElementValues()

getDocComment

String  getDocComment(Element  e)
요소의 다큐멘테이션 ("Javadoc") 코멘트의 텍스트를 돌려줍니다.

파라미터:
e - 조사하는 대상의 요소
반환값:
요소의 다큐멘테이션 코멘트. 존재하지 않는 경우는 null

isDeprecated

boolean isDeprecated(Element  e)
요소가 비추천의 경우는 true 를 돌려줍니다. 그렇지 않은 경우는 false 를 돌려줍니다.

파라미터:
e - 조사하는 대상의 요소
반환값:
요소가 비추천의 경우는 true. 그렇지 않은 경우는 false

getBinaryName

Name  getBinaryName(TypeElement  type)
형태 요소의 「바이너리명」을 돌려줍니다.

파라미터:
type - 조사하는 대상의 형태 요소
반환값:
바이너리명
관련 항목:
TypeElement.getQualifiedName()
관련 항목 The Java Language Specification, Third Edition :
13.1 The Form of a Binary

getPackageOf

PackageElement  getPackageOf(Element  type)
요소의 패키지를 돌려줍니다. 패키지의 패키지는 그것 자신입니다.

파라미터:
type - 조사하는 대상의 요소
반환값:
요소의 패키지

getAllMembers

List <?  extends Element > getAllMembers(TypeElement  type)
상속되고 있을까 직접 선언되고 있을까에 관계없이, 형태 요소의 모든 멤버를 돌려줍니다. 클래스에 대해서는, 결과에는 생성자 도 포함됩니다만, 로컬 클래스나 익명 클래스는 포함되지 않습니다.

ElementFilter 의 메소드를 사용하면(자), 특정의 종류의 요소를 분리할 수 있습니다.

파라미터:
type - 조사하는 대상의 형태
반환값:
형의 모든 멤버
관련 항목:
Element.getEnclosedElements()

getAllAnnotationMirrors

List <?  extends AnnotationMirror > getAllAnnotationMirrors(Element  e)
상속되고 있을까 직접 존재하고 있을까에 관계없이, 요소의 모든 주석을 돌려줍니다.

파라미터:
e - 조사하는 대상의 요소
반환값:
요소의 모든 주석
관련 항목:
Element.getAnnotationMirrors()

hides

boolean hides(Element  hider,
              Element  hidden)
형태, 메소드, 또는 필드가 다른 것을 덮어 가리고 있는지 어떤지를 테스트합니다.

파라미터:
hider - 선두의 요소
hidden - 2 번째의 요소
반환값:
선두의 요소가 2 번째의 요소를 덮어 가리고 있는 경우에 한정해 true

overrides

boolean overrides(ExecutableElement  overrider,
                  ExecutableElement  overridden,
                  TypeElement  type)
지정된 형태의 멤버인 메소드가 다른 메소드를 오버라이드(override) 할지 어떨지를 테스트합니다. 비추상 메소드가 추상 메소드를 오버라이드(override) 하는 경우, 전자는 후자를 「구현한다」라고도 말합니다.

무엇보다 단순하고 일반적인 사용법에서는,type 파라미터의 값은, 메소드를 오버라이드(override) 할 가능성이 있는 overrider 를 직접 둘러싸는 클래스 또는 인터페이스가 됩니다. 예를 들어,m1String.hashCode 메소드를 나타내,m2Object.hashCode 메소드를 나타낸다고 합니다. String 클래스내에서 m1m2 를 오버라이드(override) 할지 어떨지를 다음과 같이 조사할 수가 있습니다. 실제는 오버라이드(override) 합니다.

assert elements.overrides(m1, m2, elements.getTypeElement("java.lang.String"));
한층 더 흥미로운 케이스로서 다음의 예가 있습니다. 형태 A 의 메소드는 똑같이 이름을 붙일 수 있었던 형태 B 의 메소드를 오버라이드(override) 하지 않습니다.
class A { public void m() {} }
interface B { void m(); }
...
m1 = ...; // A.m
m2 = ...; // B.m
assert ! elements.overrides(m1, m2, elements.getTypeElement("A"));
다만, 3 번째의 형태 C 의 멤버로서 참조되면(자),A 의 메소드는 B 의 메소드를 오버라이드(override) 합니다.
class C extends A implements B {}
...
assert elements.overrides(m1, m2, elements.getTypeElement("C"));

파라미터:
overrider - 오버라이드(override)을 실시할 가능성이 있는 선두의 메소드
overridden - 오버라이드(override) 될 가능성이 있는 2 번째의 메소드
type - 멤버인 선두의 메소드의 형태
반환값:
선두의 메소드가 2 번째의 메소드를 오버라이드(override) 하는 경우에 한정해 true
관련 항목 The Java Language Specification, Third Edition :
8.4. 8 Inheritance, Overriding, and Hiding, 9.4. 1 Inheritance and Overriding

getConstantExpression

String  getConstantExpression(Object  value)
프리미티브(primitive)치 또는 캐릭터 라인을 나타내는 「정수식」의 텍스트를 돌려줍니다. 텍스트는, 원시 코드로 값을 나타내는데 적합한 형식에서 돌려주어집니다.

파라미터:
value - 프리미티브(primitive)치 또는 캐릭터 라인
반환값:
정수식의 텍스트
예외:
IllegalArgumentException - 인수가 프리미티브(primitive)치 또는 캐릭터 라인이 아닌 경우
관련 항목:
VariableElement.getConstantValue()

printElements

void printElements(Writer  w,
                   Element ... elements)
요소의 표현을, 지정된 순서로, 지정된 라이터에 출력합니다. 이 메소드는, 주로 진단을 위해서(때문에) 사용됩니다. 출력의 엄밀한 형식은 지정되어 있지 않고, 변경될 예정이 있습니다.

파라미터:
w - 출력처의 라이터
elements - 출력하는 요소

getName

Name  getName(CharSequence  cs)
인수와 같은 문자 순서를 가지는 이름을 돌려줍니다.

파라미터:
cs - 이름으로서 반환되는 문자 순서

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.