|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.lang.model.util.AbstractElementVisitor6<R,P> javax.lang.model.util.ElementScanner6<R,P>
R
- 此 visitor 的方法的返回型別。對於不需要返回結果的 visitor,使用 Void
。@SupportedSourceVersion(value=RELEASE_6) public class ElementScanner6<R,P>
程序元素的掃瞄 visitor,具有適用於 RELEASE_6
源版本的預設行為。此類別中的 visitXYZ 方法通過對其 封裝元素、參數等調用 scan
來掃瞄其元件元素,正如其各自的方法規範所指示的那樣。子類別可以通過覆寫 visitXYZ 方法控制元素的存取順序。注意,scanner 的客戶端可通過對相關根元素調用 v.scan(e, p)
而不是 v.visit(e, p)
來獲得所需行為。
當子類別覆寫 visitXYZ 方法時,新方法可以通過調用 super.visitXYZ 按預設方式掃瞄封裝的元素。使用這種方式,就附加處理而言,具體 visitor 可以控制遍歷元件元素的順序;例如,在覆寫方法的開始處以一致的方式調用 super.visitXYZ 將產生先序遍歷 (preorder traversal)。如果應該以其他順序遍歷元件元素,那麼覆寫的 visit 方法應該使用按所需順序排列的元素調用 scan
,而不是調用 super.visitXYZ。
根據常規協定,可以覆寫此類別中的方法。注意,具有 @Override
的具體子類別中的註釋方法可以說明確定那些打算覆寫的方法。
警告: 以後可能會向此類別實作的 ElementVisitor
介面添加一些方法,以適應添加到 Java™ 程式語言未來版本中的新(當前未知的)語言結構。所以,將來可能會向此類別添加名稱以 "visit"
開頭的方法;為了避免不相容,擴展此類別的類別不應該宣告任何名稱以 "visit"
開頭的實例方法。
在添加一個這樣的新 visit 方法時,此類別中的預設實作將調用 visitUnknown
方法。還將引入新的元素 scanner visitor 類別,以對應新的語言級別;此 visitor 針對相關 visit 方法有不同的預設行為。在引入新的 visitor 時,此 visitor 的全部或部分可能過時。
欄位摘要 | |
---|---|
protected R |
DEFAULT_VALUE
指定的預設值。 |
建構子摘要 | |
---|---|
protected |
ElementScanner6()
具體子類別的建構子;使用 null 作為預設值。 |
protected |
ElementScanner6(R defaultValue)
具體子類別的建構子;使用參數作為預設值。 |
方法摘要 | |
---|---|
R |
scan(Element e)
等效於 v.scan(e, null) 的便捷方法。 |
R |
scan(Element e,
P p)
通過調用 e.accept(this, p) 處理元素;此方法可被子類別覆寫。 |
R |
scan(Iterable<? extends Element> iterable,
P p)
迭代給定元素並對每個元素調用 scan(Element, P) 。 |
R |
visitExecutable(ExecutableElement e,
P p)
存取 executable 元素。 |
R |
visitPackage(PackageElement e,
P p)
存取包元素。 |
R |
visitType(TypeElement e,
P p)
存取型別元素。 |
R |
visitTypeParameter(TypeParameterElement e,
P p)
存取型別參數元素。 |
R |
visitVariable(VariableElement e,
P p)
存取變數元素。 |
從類別 javax.lang.model.util.AbstractElementVisitor6 繼承的方法 |
---|
visit, visit, visitUnknown |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
protected final R DEFAULT_VALUE
建構子詳細資訊 |
---|
protected ElementScanner6()
null
作為預設值。
protected ElementScanner6(R defaultValue)
方法詳細資訊 |
---|
public final R scan(Iterable<? extends Element> iterable, P p)
scan(Element, P)
。返回最後一次調用 scan
的結果;對於空 iterable,則返回 DEFAULT_VALUE
。
iterable
- 要掃瞄的元素p
- 附加參數
DEFAULT_VALUE
public R scan(Element e, P p)
e.accept(this, p)
處理元素;此方法可被子類別覆寫。
e
的結果。public final R scan(Element e)
v.scan(e, null)
的便捷方法。
e
的結果。public R visitPackage(PackageElement e, P p)
e
- 要存取的元素p
- 特定於 visitor 的參數
public R visitType(TypeElement e, P p)
e
- 要存取的元素p
- 特定於 visitor 的參數
public R visitVariable(VariableElement e, P p)
e
- 要存取的元素p
- 特定於 visitor 的參數
public R visitExecutable(ExecutableElement e, P p)
e
- 要存取的元素p
- 特定於 visitor 的參數
public R visitTypeParameter(TypeParameterElement e, P p)
e
- 要存取的元素p
- 特定於 visitor 的參數
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。