JDT
(java development tooling)是Eclipse提供的一組API。其功能引用其官方文檔上的說法:
Programmatically manipulate Java resources, such as creating projects, generating Java source code, performing builds, or detecting problems in code. Programmatically launch a Java program from the platform. Provide a new type of VM launcher to support a new family of Java runtimes. Add new functions and extensions to the Java IDE itself. 總之,提供了一系列強大的API供我們操作Java代碼。
JDT實際上是將Java代碼構建成一個基於DOM結構的抽象語法樹AST(Abstract Syntax Tree )。代碼中的每個部分都對應一個ASTNode,許多的ASTNode就構成了這個抽象的語法樹。Java Class一般對應Compilation Unit node,該節點也是AST樹上的頂點。創建一個AST如下:
java 代碼
ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setSource("".toCharArray()); CompilationUnit unit = (CompilationUnit) parser.createAST(null); unit.recordModifications(); AST ast = unit.getAST();
其中createAST,當parse需要較長時間時,可以採用createAST(new NullProgressMonitor()),否則直接傳null即可。
recordModifications()用於記錄節點的變動,比如修改、刪除等,當需要對AST樹進行變動操作時,必須要預先調用這個方法。
比較重要的是:一個AST樹上的所有節點必須都屬於該AST。不允許直接將其他AST樹上的節點添加該AST樹上。否則會拋出java.lang.IllegalArgumentException異常。須使用ASTNode.copySubtree(AST target, ASTNode node)返回一個目標樹的深度拷貝,才能進行添加操作。例如: java 代碼ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setSource("".toCharArray()); CompilationUnit targetRoot= (CompilationUnit) parser.createAST(null); targetRoot.recordModifications(); parser.setSource("class T{}”".toCharArray()); CompilationUnit srcRoot= (CompilationUnit) parser.createAST(null); //這是非法操作,兩者的AST源不一樣 targetRoot.types().add(srcRoot.types().get(0)); //這是合法操作 targetRoot.types().add(ASTNode.copySubtree( targetRoot.getAST(), (ASTNode) srcRoot.types().get(0))); //這是合法操作 targetRoot.types().add(targetRoot.getAST().newTypeDeclaration());
德國JDT
一家老牌德國吊索具生產商
企業簡介
擁有200多年歷史的德國J.D.Theile GmbH & Co KG有限公司(簡稱德國JDT公司),一直屬於家族所有。因其致力於鏈條及其組件製造技術不斷創新,德標鏈條的制定不少都是參考JDT的鏈條標準。JDT商標是全球公認的圓環鏈質量標誌。JDT產品被廣泛套用於起重、吊裝、輸送以及風電、核電、汽車模具等領域。 JDT參與制定了42個德標,16個歐標,22個ISO標準。
產品特性
德國原裝進口JDT可旋轉吊點TP型為新一代可旋轉吊點提高綜合承載力25%。使用環境溫度範圍從-40℃到400℃,螺紋直徑從10mm-150mm。真正的旋轉吊環經典,真正地最高安全品質旋轉吊環,非德國JDT莫屬。通過多項國際認證,質量堅如磐石,性能猶如白金。JDT沒有華麗的宣語,只有一顆德國人對安全一絲不苟的心。10級標準的ENORM材料,製造出獨具世界之巔的100級旋轉吊環,鍛造的六弓形底座使吊點的安裝與拆卸更加簡便,鏈環上的凸點可有效防止鏈環打結,內外表面均有電鍍塗層,有效防止吊點被腐蝕,鏈環了180°擺動,360°轉動,如此安全如此人性化的索具設計方案只有德國JDT。