JavaTM 2 Platform
Standard Ed. 6

javax.lang.model.type
介面 TypeVisitor<R,P>

型別參數:
R - 此 visitor 的方法的返回型別。對於不需要返回結果的 visitor,使用 Void
所有已知實作類別:
AbstractTypeVisitor6, SimpleTypeVisitor6, TypeKindVisitor6

public interface TypeVisitor<R,P>

型別的 visitor,使用 visitor 設計網要的樣式。在編譯時某個型別的種類別未知時,實作此介面的類別被用來對該型別進行操作。在將 visitor 傳遞給某個型別的 accept 方法時,最適用於該型別的 visitXYZ 方法將被調用。

如果附加參數 pnull,則實作此介面的類別有可能拋出 NullPointerException;有關詳細資訊,請參閱實作類別的文檔。

警告: 以後可能會向此介面添加一些方法,以適應添加到 Java™ 程式語言未來版本中的新(當前未知的)語言結構。所以,直接實作此介面的 visitor 類別可能與平臺的未來版本不相容。為了避免這種不相容性,建議 visitor 實作擴展實作此介面的抽象 visitor 類別。不過,API 通常應該使用此 visitor 介面作為參數型別、返回型別等,而不是將它作為抽象類別之一。

從以下版本開始:
1.6

方法摘要
 R visit(TypeMirror t)
          等效於 v.visit(t, null) 的便捷方法。
 R visit(TypeMirror t, P p)
          存取一個型別。
 R visitArray(ArrayType t, P p)
          存取陣列型別。
 R visitDeclared(DeclaredType t, P p)
          存取已宣告的型別。
 R visitError(ErrorType t, P p)
          存取錯誤型別。
 R visitExecutable(ExecutableType t, P p)
          存取 executable 型別。
 R visitNoType(NoType t, P p)
          存取 NoType 實例。
 R visitNull(NullType t, P p)
          存取 null 型別。
 R visitPrimitive(PrimitiveType t, P p)
          存取基本型別。
 R visitTypeVariable(TypeVariable t, P p)
          存取型別變數。
 R visitUnknown(TypeMirror t, P p)
          存取未知種類別的型別。
 R visitWildcard(WildcardType t, P p)
          存取通配符型別。
 

方法詳細資訊

visit

R visit(TypeMirror t,
        P p)
存取一個型別。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visit

R visit(TypeMirror t)
等效於 v.visit(t, null) 的便捷方法。

參數:
t - 要存取的元素
返回:
特定於 visitor 的結果

visitPrimitive

R visitPrimitive(PrimitiveType t,
                 P p)
存取基本型別。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visitNull

R visitNull(NullType t,
            P p)
存取 null 型別。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visitArray

R visitArray(ArrayType t,
             P p)
存取陣列型別。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visitDeclared

R visitDeclared(DeclaredType t,
                P p)
存取已宣告的型別。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visitError

R visitError(ErrorType t,
             P p)
存取錯誤型別。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visitTypeVariable

R visitTypeVariable(TypeVariable t,
                    P p)
存取型別變數。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visitWildcard

R visitWildcard(WildcardType t,
                P p)
存取通配符型別。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visitExecutable

R visitExecutable(ExecutableType t,
                  P p)
存取 executable 型別。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visitNoType

R visitNoType(NoType t,
              P p)
存取 NoType 實例。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visitUnknown

R visitUnknown(TypeMirror t,
               P p)
存取未知種類別的型別。如果語言有所發展並且向 TypeMirror 層次結構中添加了新種類別的型別,則會發生這種情況。

參數:
t - 要存取的型別
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果
拋出:
UnknownTypeException - visitor 實作可以有選擇地拋出此異常

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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