JavaTM 2 Platform
Standard Ed. 6

javax.annotation.processing
類別 AbstractProcessor

java.lang.Object
  繼承者 javax.annotation.processing.AbstractProcessor
所有已實作的介面:
Processor

public abstract class AbstractProcessor
extends Object
implements Processor

旨在用作最具體註釋 processor 的便捷父級類別的抽象註釋 processor。此類別檢查註釋值,以計算其子型別所支持的選項註釋源版本

在 processor 被初始化之後,獲取方法可以使用可用設施來發出有關值得注意的條件的警告

只要遵守該方法的常規 Processor 協定,子類別可隨意覆寫此類別中任何方法的實作和規範。

從以下版本開始:
1.6

欄位摘要
protected  ProcessingEnvironment processingEnv
          工具框架提供的處理環境。
 
建構子摘要
protected AbstractProcessor()
          子類別要調用的建構子。
 
方法摘要
 Iterable<? extends Completion> getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)
          返回一個空的 completion 迭代。
 Set<String> getSupportedAnnotationTypes()
          如果 processor 類別是使用 SupportedAnnotationTypes 註釋的,則返回一個不可修改的集合,該集合具有與註釋相同的字元串集。
 Set<String> getSupportedOptions()
          如果 processor 類別是使用 SupportedOptions 註釋的,則返回一個不可修改的集合,該集合具有與註釋相同的字元串集。
 SourceVersion getSupportedSourceVersion()
          如果 processor 類別是使用 SupportedSourceVersion 註釋的,則返回註釋中的源版本。
 void init(ProcessingEnvironment processingEnv)
          用處理環境初始化 processor,方法是將 processingEnv 欄位設置為 processingEnv 參數的值。
protected  boolean isInitialized()
          如果此物件已被初始化,則返回 true,否則返回 false
abstract  boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv)
          處理先前 round 產生的型別元素上的註釋型別集,並返回這些註釋是否由此 Processor 宣告。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

processingEnv

protected ProcessingEnvironment processingEnv
工具框架提供的處理環境。

建構子詳細資訊

AbstractProcessor

protected AbstractProcessor()
子類別要調用的建構子。

方法詳細資訊

getSupportedOptions

public Set<String> getSupportedOptions()
如果 processor 類別是使用 SupportedOptions 註釋的,則返回一個不可修改的集合,該集合具有與註釋相同的字元串集。如果類別不是以這種方式註釋的,則返回一個空集合。

指定者:
介面 Processor 中的 getSupportedOptions
返回:
由此 processor 識別的選項;如果沒有這樣的選項,則返回一個空集合
另請參見:
SupportedOptions

getSupportedAnnotationTypes

public Set<String> getSupportedAnnotationTypes()
如果 processor 類別是使用 SupportedAnnotationTypes 註釋的,則返回一個不可修改的集合,該集合具有與註釋相同的字元串集。如果類別不是以這種方式註釋的,則返回一個空集合。

指定者:
介面 Processor 中的 getSupportedAnnotationTypes
返回:
此 processor 所支持的註釋型別的名稱;如果沒有這樣的型別,則返回一個空集合
另請參見:
SupportedAnnotationTypes

getSupportedSourceVersion

public SourceVersion getSupportedSourceVersion()
如果 processor 類別是使用 SupportedSourceVersion 註釋的,則返回註釋中的源版本。如果類別不是以這種方式註釋的,則返回 SourceVersion.RELEASE_6

指定者:
介面 Processor 中的 getSupportedSourceVersion
返回:
此 processor 所支持的最新的源版本
另請參見:
SupportedSourceVersion, ProcessingEnvironment.getSourceVersion()

init

public void init(ProcessingEnvironment processingEnv)
用處理環境初始化 processor,方法是將 processingEnv 欄位設置為 processingEnv 參數的值。如果在同一物件上多次調用此方法,則拋出 IllegalStateException

指定者:
介面 Processor 中的 init
參數:
processingEnv - 用來存取工具框架提供給 processor 的設施的環境
拋出:
IllegalStateException - 如果多次調用此方法。

process

public abstract boolean process(Set<? extends TypeElement> annotations,
                                RoundEnvironment roundEnv)
處理先前 round 產生的型別元素上的註釋型別集,並返回這些註釋是否由此 Processor 宣告。如果返回 true,則這些註釋已宣告並且不要求後續 Processor 處理它們;如果返回 false,則這些註釋未宣告並且可能要求後續 Processor 處理它們。Processor 可能總是返回相同的 boolean 值,或者可能基於所選擇的標準而返回不同的結果。

如果 Processor 支持 "*" 並且根元素沒有註釋,則輸入集合將為空。Processor 必須妥善處理空註釋集。

指定者:
介面 Processor 中的 process
參數:
annotations - 請求處理的註釋型別
roundEnv - 有關當前和以前 round 的資訊的環境
返回:
註釋集是否由此 Processor 宣告

getCompletions

public Iterable<? extends Completion> getCompletions(Element element,
                                                     AnnotationMirror annotation,
                                                     ExecutableElement member,
                                                     String userText)
返回一個空的 completion 迭代。

指定者:
介面 Processor 中的 getCompletions
參數:
element - 將被註釋的元素
annotation - 將應用於元素的註釋(可能是一部分)
member - 為其返回可能 completion 的註釋成員
userText - 將補充完整的源程式碼文本
返回:
註釋的建議 completion

isInitialized

protected boolean isInitialized()
如果此物件已被初始化,則返回 true,否則返回 false

返回:
如果此物件已被初始化,則返回 true,否則返回 false

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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