|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface Elements
用來對程序元素進行操作的實用工具方法。
相容性注意事項: 在將來的平臺版本中可能會向此介面添加一些方法。
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。 |
方法詳細資訊 |
---|
PackageElement getPackageElement(CharSequence name)
name
- 完全限定的套件名稱;對於未命名的套件,該參數為 ""
null
TypeElement getTypeElement(CharSequence name)
name
- 規範名稱
null
Map<? extends ExecutableElement,? extends AnnotationValue> getElementValuesWithDefaults(AnnotationMirror a)
a
- 要檢查的註釋
AnnotationMirror.getElementValues()
String getDocComment(Element e)
e
- 將被檢查的元素
null
boolean isDeprecated(Element e)
true
,否則返回 false
。
e
- 將被檢查的元素
true
,否則返回 false
Name getBinaryName(TypeElement type)
type
- 將被檢查的型別元素
TypeElement.getQualifiedName()
PackageElement getPackageOf(Element type)
type
- 將被檢查的元素
List<? extends Element> getAllMembers(TypeElement type)
注意,使用 ElementFilter
中的方法可以隔離某個種類別的元素。
type
- 將被檢查的型別
Element.getEnclosedElements()
List<? extends AnnotationMirror> getAllAnnotationMirrors(Element e)
e
- 將被檢查的元素
Element.getAnnotationMirrors()
boolean hides(Element hider, Element hidden)
hider
- 第一個元素hidden
- 第二個元素
true
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("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"));
C
的成員時,A
中的方法覆寫了 B
中的方法:
class C extends A implements B {}
...assert elements.overrides(m1, m2, elements.getTypeElement("C"));
overrider
- 第一個方法,可能是 overrideroverridden
- 第二個方法,可能被覆寫type
- 第一個方法是其成員的型別
true
String getConstantExpression(Object value)
value
- 基本值或字元串
IllegalArgumentException
- 如果參數不是基本值或字元串VariableElement.getConstantValue()
void printElements(Writer w, Element... elements)
w
- 輸出列印到的 writerelements
- 要列印的元素Name getName(CharSequence cs)
cs
- 將以名稱形式返回的字元序列
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。