JavaTM 2 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,否則返回 false
 boolean overrides(ExecutableElement overrider, ExecutableElement overridden, TypeElement type)
          測試一個方法(作為給定型別的成員)是否覆寫了另一個方法。
 void printElements(Writer w, Element... elements)
          按指定順序將元素的表示形式列印到給定 writer。
 

方法詳細資訊

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()

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 - 第二個元素
返回:
當且僅當第一個元素隱藏了第二個元素時返回 true

overrides

boolean overrides(ExecutableElement overrider,
                  ExecutableElement overridden,
                  TypeElement type)
測試一個方法(作為給定型別的成員)是否覆寫了另一個方法。當非抽象方法覆寫抽象方法時,還可以說成是前者實作 了後者。

在最簡單且最典型的用法中,type 參數的值就是直接封裝 overrider(可能覆寫的方法)的類別或介面。例如,假設 m1 表示方法 String.hashCode,而 m2 表示 Object.hashCode。可以詢問 m1 是否覆寫了 String 類別中的 m2(它的確覆寫了該方法):

assert elements.overrides(m1, m2, elements.getTypeElement(&quot;java.lang.String&quot;));
下例描述了一種更有趣的情況,在這種情況下,型別 A 中的方法沒有覆寫型別 B 中名稱類似的方法:
class A { public void m() {} }
interface B { void m(); }
...
m1 = ...; // A.m
m2 = ...; // B.m
assert ! elements.overrides(m1, m2, elements.getTypeElement(&quot;A&quot;));
當時,當被視為第三種型別 C 的成員時,A 中的方法覆寫了 B 中的方法:
class C extends A implements B {}
...
assert elements.overrides(m1, m2, elements.getTypeElement(&quot;C&quot;));

參數:
overrider - 第一個方法,可能是 overrider
overridden - 第二個方法,可能被覆寫
type - 第一個方法是其成員的型別
返回:
當且僅當第一個方法覆寫第二個方法時返回 true

getConstantExpression

String getConstantExpression(Object value)
返回表示基本值或字元串的常數表達式 文本。返回文本的形式是一種適合於表示源程式碼中的值的形式。

參數:
value - 基本值或字元串
返回:
常數表達式的文本
拋出:
IllegalArgumentException - 如果參數不是基本值或字元串
另請參見:
VariableElement.getConstantValue()

printElements

void printElements(Writer w,
                   Element... elements)
按指定順序將元素的表示形式列印到給定 writer。此方法的主要用途是診斷。輸出的具體格式沒有 指定並且是可以更改的。

參數:
w - 輸出列印到的 writer
elements - 要列印的元素

getName

Name getName(CharSequence cs)
返回與參數具有相同字元序列的名稱。

參數:
cs - 將以名稱形式返回的字元序列

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only