JDT AST-Java JET2 átalakítási kézikönyv

Ez a dokumentum leírja JDT AST-ből történő Java kód előállításra szolgáló JET2 átalakítás elemeit és szerkezetét. Ez különösen hasznos lesz azoknak a fejlesztőknek, akiktől ezen átalakítással Java kód előállítását várják JDT AST-ből.

JDT-JET2-kód átalakítás

A JDT-JET2-kód átalakítás legfelső szintű átalakítás.

JDT-JET2-kód átalakítás
Azonosító com.ibm.xtools.transform.java.jet2templates
Forrás java.util.Map (leképzés az org.eclipse.jdt.core.IJavaProject és a projekthez tartozó org.eclipse.jdt.core.dom.CompilationUnit elemek gyűjteménye között)
Előállít: Java fájlokat a projektben lévő minden CompilationUnit elemhez

Az átalakítás Map<IJavaProject,Collection<CompilationUnit>> elemet vár gyökérelemként. Ezután az feldolgozza az összes projekthez tartozó gyűjteményt és előállítja a megfelelő forrásfájlokat a megfelelő projektben. A termék elvárja, hogy a CompilationUnit elemek tartalmazzák az összes szükséges információt, vagyis a csomag deklarációkat, importálás deklarációkat, stb.

modelInspectors

Az átalakítás az org.eclipse.jet.modelInspectors kiterjesztés használatával járja be a JET sablonokban lévő JDT AST elemet. Az ellenőr olyan objektum, amely az objektumokat az XPath információs modellhez illeszti. Minden ellenőr meghatározza azoknak az objektumoknak a típusát, amelyeket képes illeszteni és csak azokat az objektumokat kapja meg. Minden ASTNode elemhez tartozik egy-egy ellenőr, amely megválaszolja az illető ASTNode elemre vonatkozó XPath lekérdezéseket. Ezeket az ellenőröket a com.ibm.xtools.transform.java.jet2 bővítőben valósítják meg.

Bővíthetőség

Az átalakítás biztosítja a com.ibm.xtools.transform.java.jet2.IJavaJET2ListenerProvider kiterjesztési pontot, amely lehetővé teszi olyan átalakítások meghívását, melyek egyedi műveleteket végeznek az átalakítás végrehajtása során. Az IJavaJET2ListenerProvider olyan illesztő, amely segítségével az ügyfelek bejegyezhetik a figyelőket a Java JET2 átalakításhoz minden ASTNode esetében, valamint az org.eclipse.jet.IWriterListener objektumhoz minden egyes írott fájl esetében. A kiterjesztési pont szerkezetének leírása alább szerepel

IJavaJET2ListenerProvider kiterjesztés
Azonosító com.ibm.xtools.transform.java.jet2.IJavaJET2ListenerProvider
Elem JavaJET2ListenerProvider
attribútum osztály
végrehajtások com.ibm.xtools.transform.java.jet2.listeners.IJavaJET2ListenerProvider

Az IJavaJET2ListenerProvider csatoló meghatározása a következő:

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

Az IJavaJET2Listener csomóponti szintű figyelő, amelyet a rendszer azelőtt és azután hív meg, hogy a rendszer feldolgozza az egyes ASTNode elemeket, míg az IWriterListener fájlszintű figyelő, amelyet a rendszer azelőtt és azután hív meg, hogy az egyes fájlokat a rendszer véglegesíti. A fejlesztők készíthetnek figyelőket csak az őket érdeklő bizonyos activityId elemekhez. Az ActivityId olyan azonosító, amelyet a Java JET2 átalakítás ügyfelei megadhatnak és így a fejlesztők figyelőket készíthetnek az egyes activityId elemekhez, ezáltal lehetővé téve a fejlesztőknek, hogy a Java JET2 átalakítást meghívó bármelyik átalakításra kiterjesszék. Az IJavaJET2Listener csatoló meghatározása a következő:

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

Növekményes írás

<NA>

Kódformázás

<NA>