|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface Element
表示一個程序元素,比如包、類別或者方法。每個元素都表示一個靜態的語言級建構(不表示虛擬機器的運行時建構)。
元素應該使用 equals(Object)
方法進行比較。不保證總是使用相同的物件表示某個特定的元素。
要實作基於 Element
物件類別的操作,可以使用 visitor 或者使用 getKind()
方法的結果。使用 instanceof
確定此建模層次結構中某一物件的有效類別 未必 可靠,因為一個實作可以選擇讓單個物件實作多個 Element
子介面。
Elements
,
TypeMirror
方法摘要 | ||
---|---|---|
|
accept(ElementVisitor<R,P> v,
P p)
將一個 visitor 應用到此元素。 |
|
TypeMirror |
asType()
返回此元素定義的型別。 |
|
boolean |
equals(Object obj)
如果參數表示與 此元素 相同的元素,則返回 true ;否則返回 false 。 |
|
|
getAnnotation(Class<A> annotationType)
返回此元素針對指定型別的註釋(如果存在這樣的註釋),否則返回 null 。 |
|
List<? extends AnnotationMirror> |
getAnnotationMirrors()
返回直接存在於此元素上的註釋。 |
|
List<? extends Element> |
getEnclosedElements()
返回此元素直接封裝(非嚴格意義上)的元素。 |
|
Element |
getEnclosingElement()
返回封裝此元素(非嚴格意義上)的最裡層元素。 |
|
ElementKind |
getKind()
返回此元素的 型別 。 |
|
Set<Modifier> |
getModifiers()
返回此元素的修飾符,不包括註釋。 |
|
Name |
getSimpleName()
返回此元素的簡單(未限定)名稱。 |
|
int |
hashCode()
遵守 Object.hashCode 的常規協定。 |
方法詳細資訊 |
---|
TypeMirror asType()
一般元素會定義一個型別系列,而不是只定義一個型別。如果此元素是一般元素,則返回原型 型別。此方法是元素在對應於它自己的形式型別參數的型別變數上的調用。例如,對於一般類別元素 C<N extends Number>
,返回參數化型別 C<N>
。Types
實用工具介面有更多的一般方法來獲取某一元素定義的整個範圍的型別。
Types
ElementKind getKind()
型別
。
List<? extends AnnotationMirror> getAnnotationMirrors()
要獲得繼承的註釋,可使用 getAllAnnotationMirrors
。
ElementFilter
<A extends Annotation> A getAnnotation(Class<A> annotationType)
null
。註釋可以是繼承的,也可以是直接存在於此元素上的。
此方法返回的註釋可以包含其值型別為 Class
的元素。此值無法直接返回:尋找並載入某個類別的必要資訊(比如要使用的類別載入器)不可用,該類別可能根本無法載入。試圖通過對所返回的註釋調用相關方法讀取 Class
物件將導致一個 MirroredTypeException
,從中可以提取相應的 TypeMirror
。類似地,試圖讀取一個值為 Class[]
的元素將導致 MirroredTypesException
。
註: 此方法與此介面及相關介面中的那些方法不同。它對運行時反射資訊(當前已載入到 VM 中的註釋型別的表示形式)進行操作,而不是對通過這些介面定義和使用的表示形式進行操作。因此,調用返回註釋物件上的方法可能會拋出許多異常,這些異常在調用核心反射所返回的註釋物件上的方法時拋出。此方法由被編寫為對已知的固定註釋型別集上進行操作的調用者使用。
A
- 註釋型別annotationType
- 對應於註釋型別的 Class
物件
null
getAnnotationMirrors()
,
AnnotatedElement.getAnnotation(java.lang.Class)
,
EnumConstantNotPresentException
,
AnnotationTypeMismatchException
,
IncompleteAnnotationException
,
MirroredTypeException
,
MirroredTypesException
Set<Modifier> getModifiers()
public
和 static
修飾符。
Name getSimpleName()
java.util.Set<E>
的簡單名稱是 "Set"
。如果此元素表示一個未指定的套件,則返回一個空名稱。如果它表示一個建構子,則返回名稱 "<init>
"。如果它表示一個靜態初始化程序,則返回名稱 "<clinit>
"。如果它表示一個匿名類別或者實例初始化程序,則返回一個空名稱。
Element getEnclosingElement()
null
。
null
。
null
Elements.getPackageOf(javax.lang.model.element.Element)
List<? extends Element> getEnclosedElements()
values
和 valueOf
方法。
包封裝位於其中的頂層類別和介面,但不認為它封裝了子套件。
當前不認為其他種類別的元素封裝了任何元素;但是,隨著此 API 或程式語言的發展,這種情況可能發生改變。
注意,使用 ElementFilter
中的方法可以隔離某一種類別的元素。
Elements.getAllMembers(javax.lang.model.element.TypeElement)
boolean equals(Object obj)
此元素
相同的元素,則返回 true
;否則返回 false
。
注意,元素的身份包括無法直接從元素方法獲得的隱式狀態,包括反映無關型別存在性的狀態。這些介面的不同實作所創建的元素物件不 應該是相等的,即使將為“相同的”元素建模;這正如通過不同類別載入器載入的相同類別檔案的 Class
物件是不相等的。
Object
中的 equals
obj
- 將與此元素進行比較的物件
true
Object.hashCode()
,
Hashtable
int hashCode()
Object.hashCode
的常規協定。
Object
中的 hashCode
equals(java.lang.Object)
<R,P> R accept(ElementVisitor<R,P> v, P p)
R
- visitor 的方法的返回型別P
- visitor 的方法的附加參數型別v
- 對此元素進行操作的 visitorp
- visitor 的附加參數
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。