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)
          プリミティブ値または文字列を表す「定数式」のテキストを返します。
 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)
          指定された型のメンバーであるメソッドが別のメソッドをオーバーライドするかどうかをテストします。
 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)
指定された型のメンバーであるメソッドが別のメソッドをオーバーライドするかどうかをテストします。非抽象メソッドが抽象メソッドをオーバーライドする場合、前者は後者を「実装する」ともいいます。

もっとも単純で一般的な使用法では、type パラメータの値は、メソッドをオーバーライドする可能性のある overrider を直接囲むクラスまたはインタフェースになります。たとえば、m1String.hashCode メソッドを表し、m2Object.hashCode メソッドを表すとします。String クラス内で m1m2 をオーバーライドするかどうかを次のように調べることができます。実際はオーバーライドします。

assert elements.overrides(m1, m2, elements.getTypeElement("java.lang.String"));
さらに興味深いケースとして、次の例があります。型 A のメソッドは同じように名前を付けられた型 B のメソッドをオーバーライドしません。
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 のメソッドをオーバーライドします。
class C extends A implements B {}
...
assert elements.overrides(m1, m2, elements.getTypeElement("C"));

パラメータ:
overrider - オーバーライドを行う可能性がある先頭のメソッド
overridden - オーバーライドされる可能性がある 2 番目のメソッド
type - メンバーである先頭のメソッドの型
戻り値:
先頭のメソッドが 2 番目のメソッドをオーバーライドする場合に限り 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)
プリミティブ値または文字列を表す「定数式」のテキストを返します。テキストは、ソースコードで値を表すのに適した形式で返されます。

パラメータ:
value - プリミティブ値または文字列
戻り値:
定数式のテキスト
例外:
IllegalArgumentException - 引数がプリミティブ値または文字列ではない場合
関連項目:
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 も参照してください。