JDT AST 至 Java JET2 轉換參考手冊

本文件說明 JET2 轉換的元素和結構,它用於從 JDT AST 產生 Java 程式碼。對於尋求使用此轉換來從 JDT AST 產生 Java 程式碼的開發者而言,它特別有價值。

JDT 至程式碼 JET2 轉換

JDT 至程式碼 JET2 轉換是最上層轉換。

JDT 至程式碼 JET2 轉換
ID com.ibm.xtools.transform.java.jet2templates
來源 java.util.Map(org.eclipse.jdt.core.IJavaProject 與該專案的 org.eclipse.jdt.core.dom.CompilationUnit 元素的集合之間的對映)
產生 為對應專案中的每個 CompilationUnit 產生 Java 檔

轉換預期 Map<IJavaProject,Collection<CompilationUnit>> 作為根元素。 然後,它處理每個專案的集合,並在對應的專案中產生對應的原始檔。預期 CompilationUnit 元素包含所有必要的資訊,即「套件宣告」、「匯入宣告」等

模型視察程式

轉換使用 org.eclipse.jet.modelInspectors 延伸來遍訪 JET 範本中的 JDT AST。視察程式是使物件適應 XPath 資訊模型的物件。每個視察程式定義能夠適應的物件類型,並只傳遞那些物件。每個 ASTNode 都有一個回答該 ASTNode 的 XPath 查詢的視察程式。這些視察程式在外掛程式 com.ibm.xtools.transform.java.jet2 中實作

延伸

轉換提供延伸點 com.ibm.xtools.transform.java.jet2.IJavaJET2ListenerProvider, 其容許在執行轉換期間呼叫轉換以執行自訂動作。IJavaJET2ListenerProvider 是一個 介面,它可讓用戶端為每個 ASTNode 向 Java JET2 轉換登錄接聽器,以及為寫入的每個 檔案登錄 org.eclipse.jet.IWriterListener。延伸點的結構說明如下

IJavaJET2ListenerProvider 延伸
ID com.ibm.xtools.transform.java.jet2.IJavaJET2ListenerProvider
元素 JavaJET2ListenerProvider
屬性 類別
實作 com.ibm.xtools.transform.java.jet2.listeners.IJavaJET2ListenerProvider

介面 IJavaJET2ListenerProvider 定義如下

public interface IJavaJET2ListenerProvider {
    public IJavaJET2Listener getJavaJET2Listener(String activityId);
    public IWriterListener getWriterListener(String activityId);
}

IJavaJET2Listener 是在處理每個 ASTNode 前後呼叫的節點層次接聽器,而 IWriterListener 是在確定每個檔案前後呼叫的檔案層次接聽器。貢獻者僅可 為他們需要的特定 activityId 提供接聽器。ActivityId 是可由 Java JET2 轉換 的用戶端指定的 ID,貢獻者可為任何 activityId 提供接聽器,從而容許貢獻者 延伸呼叫 Java JET2 轉換的任何轉換。介面 IJavaJET2Listener 定義如下

public interface IJavaJET2Listener {
    public void preVisit (ASTNode node, JET2Writer writer);
    public void postVisit(ASTNode node, JET2Writer writer);
}

增量寫入

<TBD>

程式碼格式化

<TBD>