JavaTM 2 Platform
Standard Ed. 6

javax.lang.model.element
介面 AnnotationValueVisitor<R,P>

型別參數:
R - 此 visitor 的方法的返回型別
所有已知實作類別:
AbstractAnnotationValueVisitor6, SimpleAnnotationValueVisitor6

public interface AnnotationValueVisitor<R,P>

註釋型別元素值的 visitor,使用 visitor 設計網要的變體。標準 visitor 基於型別層次結構成員的具體型別進行排程,與它不同,此 visitor 基於存儲資料的型別進行排程;對於存儲,沒有不同的子類別,例如 boolean 值和 int 值。在編譯時某個值的型別未知時,實作此介面的類別被用來對該值進行操作。在將 visitor 傳遞給某個值的 accept 方法時,適用於該值的 visitXYZ 方法將被調用。

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

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

從以下版本開始:
1.6

方法摘要
 R visit(AnnotationValue av)
          等效於 v.visit(av, null) 的便捷方法。
 R visit(AnnotationValue av, P p)
          存取註釋值。
 R visitAnnotation(AnnotationMirror a, P p)
          存取註釋中的 annotation 值。
 R visitArray(List<? extends AnnotationValue> vals, P p)
          存取註釋中的 array 值。
 R visitBoolean(boolean b, P p)
          存取註釋中的 boolean 值。
 R visitByte(byte b, P p)
          存取註釋中的 byte 值。
 R visitChar(char c, P p)
          存取註釋中的 char 值。
 R visitDouble(double d, P p)
          存取註釋中的 double 值。
 R visitEnumConstant(VariableElement c, P p)
          存取註釋中的 enum 值。
 R visitFloat(float f, P p)
          存取註釋中的 float 值。
 R visitInt(int i, P p)
          存取註釋中的 int 值。
 R visitLong(long i, P p)
          存取註釋中的 long 值。
 R visitShort(short s, P p)
          存取註釋中的 short 值。
 R visitString(String s, P p)
          存取註釋中的 string 值。
 R visitType(TypeMirror t, P p)
          存取註釋中的 type 值。
 R visitUnknown(AnnotationValue av, P p)
          存取未知種類別的註釋值。
 

方法詳細資訊

visit

R visit(AnnotationValue av,
        P p)
存取註釋值。

參數:
av - 要存取的值
p - 特定於 visitor 的參數
返回:
特定於 visitor 的結果

visit

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

參數:
av - 要存取的值
返回:
特定於 visitor 的結果

visitBoolean

R visitBoolean(boolean b,
               P p)
存取註釋中的 boolean 值。

參數:
b - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitByte

R visitByte(byte b,
            P p)
存取註釋中的 byte 值。

參數:
b - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitChar

R visitChar(char c,
            P p)
存取註釋中的 char 值。

參數:
c - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitDouble

R visitDouble(double d,
              P p)
存取註釋中的 double 值。

參數:
d - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitFloat

R visitFloat(float f,
             P p)
存取註釋中的 float 值。

參數:
f - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitInt

R visitInt(int i,
           P p)
存取註釋中的 int 值。

參數:
i - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitLong

R visitLong(long i,
            P p)
存取註釋中的 long 值。

參數:
i - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitShort

R visitShort(short s,
             P p)
存取註釋中的 short 值。

參數:
s - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitString

R visitString(String s,
              P p)
存取註釋中的 string 值。

參數:
s - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitType

R visitType(TypeMirror t,
            P p)
存取註釋中的 type 值。

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

visitEnumConstant

R visitEnumConstant(VariableElement c,
                    P p)
存取註釋中的 enum 值。

參數:
c - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitAnnotation

R visitAnnotation(AnnotationMirror a,
                  P p)
存取註釋中的 annotation 值。

參數:
a - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitArray

R visitArray(List<? extends AnnotationValue> vals,
             P p)
存取註釋中的 array 值。

參數:
vals - 要存取的值
p - 特定於 visitor 的參數
返回:
存取結果

visitUnknown

R visitUnknown(AnnotationValue av,
               P p)
存取未知種類別的註釋值。如果語言有所發展並且新型別的值可以存儲在註釋中,則會發生這種情況。

參數:
av - 要存取的未知值
p - 特定於 visitor 的參數
返回:
存取結果
拋出:
UnknownAnnotationValueException - visitor 實作可以有選擇地拋出此異常

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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