CompilationUnit cu = ast.newCompilationUnit(); PackageDeclaration p1 = ast.newPackageDeclaration(); p1.setName(ast.newSimpleName("foo")); cu.setPackage(p1);
public PackageDeclaration createPackageDecl(String fullName) { PackageDeclaration packageDecl = ast.newPackageDeclaration(); packageDecl.setName(ast.newName(fullName)); return packageDecl; }
public static void createCompilationUnit(final Path rootPath, final String packageName, final String name, final Charset charset, final BiConsumer<AST, CompilationUnit> consumer) { final AST ast = AST.newAST(AST.JLS8); final CompilationUnit cu = ast.newCompilationUnit(); final PackageDeclaration pkg = ast.newPackageDeclaration(); pkg.setName(ast.newName(packageName)); cu.setPackage(pkg); final Path path = rootPath.resolve(packageName.replace(".", File.separator)).resolve(name + ".java"); consumer.accept(ast, cu); try { Files.createDirectories(path.getParent()); // format code final CodeFormatter formatter = ToolFactory.createCodeFormatter(null); final String s = cu.toString(); final TextEdit result = formatter.format(CodeFormatter.K_COMPILATION_UNIT, s, 0, s.length(), 0, null); final Document doc = new Document(s); result.apply(doc); // write out try (Writer writer = Files.newBufferedWriter(path, charset)) { writer.append(doc.get()); } } catch (final Exception e) { throw new RuntimeException(e); } }
/** * Constructor. * * @param ast AST * @param pack Package holder * @param name Name * @param imports Imports */ public SourceBuilder(AST ast, PackageHolder pack, String name, ImportsTracker imports) { // initialize basic parameters m_ast = ast; m_package = pack; m_name = name; m_importsTracker = imports; m_classes = new ArrayList(); // create file in appropriate package m_compilationUnit = ast.newCompilationUnit(); String pname = pack.getName(); if (pname.length() > 0) { PackageDeclaration packageDeclaration = ast.newPackageDeclaration(); packageDeclaration.setName(ast.newName(pname)); m_compilationUnit.setPackage(packageDeclaration); } }
protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException { //look for an existing package declaration IJavaElement[] children = getCompilationUnit().getChildren(); for (int i = 0; i < children.length; i++) { if (children[i].getElementType() == IJavaElement.PACKAGE_DECLARATION && this.name.equals(children[i].getElementName())) { //equivalent package declaration already exists this.creationOccurred = false; return null; } } AST ast = this.cuAST.getAST(); PackageDeclaration pkgDeclaration = ast.newPackageDeclaration(); Name astName = ast.newName(this.name); pkgDeclaration.setName(astName); return pkgDeclaration; } /**
protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException { //look for an existing package declaration IJavaElement[] children = getCompilationUnit().getChildren(); for (int i = 0; i < children.length; i++) { if (children[i].getElementType() == IJavaElement.PACKAGE_DECLARATION && this.name.equals(children[i].getElementName())) { //equivalent package declaration already exists this.creationOccurred = false; return null; } } AST ast = this.cuAST.getAST(); PackageDeclaration pkgDeclaration = ast.newPackageDeclaration(); Name astName = ast.newName(this.name); pkgDeclaration.setName(astName); return pkgDeclaration; } /**
@Override protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException { //look for an existing package declaration IJavaElement[] children = getCompilationUnit().getChildren(); for (int i = 0; i < children.length; i++) { if (children[i].getElementType() == IJavaElement.PACKAGE_DECLARATION && this.name.equals(children[i].getElementName())) { //equivalent package declaration already exists this.creationOccurred = false; return null; } } AST ast = this.cuAST.getAST(); PackageDeclaration pkgDeclaration = ast.newPackageDeclaration(); Name astName = ast.newName(this.name); pkgDeclaration.setName(astName); return pkgDeclaration; } /**
protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException { //look for an existing package declaration IJavaElement[] children = getCompilationUnit().getChildren(); for (int i = 0; i < children.length; i++) { if (children[i].getElementType() == IJavaElement.PACKAGE_DECLARATION && this.name.equals(children[i].getElementName())) { //equivalent package declaration already exists this.creationOccurred = false; return null; } } AST ast = this.cuAST.getAST(); PackageDeclaration pkgDeclaration = ast.newPackageDeclaration(); Name astName = ast.newName(this.name); pkgDeclaration.setName(astName); return pkgDeclaration; } /**
protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException { //look for an existing package declaration IJavaElement[] children = getCompilationUnit().getChildren(); for (int i = 0; i < children.length; i++) { if (children[i].getElementType() == IJavaElement.PACKAGE_DECLARATION && this.name.equals(children[i].getElementName())) { //equivalent package declaration already exists this.creationOccurred = false; return null; } } AST ast = this.cuAST.getAST(); PackageDeclaration pkgDeclaration = ast.newPackageDeclaration(); Name astName = ast.newName(this.name); pkgDeclaration.setName(astName); return pkgDeclaration; } /**
protected ASTNode generateElementAST(ASTRewrite rewriter, ICompilationUnit cu) throws JavaModelException { //look for an existing package declaration IJavaElement[] children = getCompilationUnit().getChildren(); for (int i = 0; i < children.length; i++) { if (children[i].getElementType() == IJavaElement.PACKAGE_DECLARATION && this.name.equals(children[i].getElementName())) { //equivalent package declaration already exists this.creationOccurred = false; return null; } } AST ast = this.cuAST.getAST(); PackageDeclaration pkgDeclaration = ast.newPackageDeclaration(); Name astName = ast.newName(this.name); pkgDeclaration.setName(astName); return pkgDeclaration; } /**
/** * Generate the Java package from UML package. * * @param clazz * the UML class * @param ast * the JDT Java AST * @param cu * the generated Java compilation unit */ private void generatePackage(Classifier clazz, AST ast, CompilationUnit cu) { PackageDeclaration pd = ast.newPackageDeclaration(); String fullPackageName = getFullPackageName(clazz); pd.setName(ast.newName(fullPackageName)); Date now = new Date(); String commentDate = "Generation date: " + now.toString() + "."; interfaceGenerator.generatePackageJavadoc(ast, pd, PackageComment.CONTENT_1.getValue(), PackageComment.CONTENT_2.getValue(), " ", PackageComment.CONTENT_3.getValue(), " ", commentDate); cu.setPackage(pd); }
/** * Generate the Java package from UML package. * * @param clazz * the UML class * @param ast * the JDT Java AST * @param cu * the generated Java compilation unit */ public void generatePackage(Classifier clazz, AST ast, CompilationUnit cu) { PackageDeclaration pd = ast.newPackageDeclaration(); String fullPackageName = getFullPackageName(clazz); pd.setName(ast.newName(fullPackageName)); Date now = new Date(); String commentDate = "Generation date: " + now.toString() + "."; generatePackageJavadoc(ast, pd, PackageComment.CONTENT_1.getValue(), PackageComment.CONTENT_2.getValue(), " ", PackageComment.CONTENT_3.getValue(), " ", commentDate); cu.setPackage(pd); }
/** * Generate the Java package from UML package. * * @param clazz * the UML class * @param ast * the JDT Java AST * @param cu * the generated Java compilation unit */ public void generatePackage(Classifier clazz, AST ast, CompilationUnit cu) { PackageDeclaration pd = ast.newPackageDeclaration(); String fullPackageName = getFullPackageName(clazz); pd.setName(ast.newName(fullPackageName)); Date now = new Date(); String commentDate = "Generation date: " + now.toString() + "."; interfaceGenerator.generatePackageJavadoc(ast, pd, PackageComment.CONTENT_1.getValue(), PackageComment.CONTENT_2.getValue(), " ", PackageComment.CONTENT_3.getValue(), " ", commentDate); cu.setPackage(pd); }
@SuppressWarnings("unchecked") @Override public O setPackage(final String name) { if (unit.getPackage() == null) { unit.setPackage(unit.getAST().newPackageDeclaration()); } unit.getPackage().setName(unit.getAST().newName(name)); return (O) this; }
@Override public O setPackage(final String name) { if (unit.getPackage() == null) { unit.setPackage(unit.getAST().newPackageDeclaration()); } unit.getPackage().setName(unit.getAST().newName(name)); return (O) this; }
@Override public JavaPackageInfoSource setPackage(final String name) { if (unit.getPackage() == null) { unit.setPackage(unit.getAST().newPackageDeclaration()); } unit.getPackage().setName(unit.getAST().newName(name)); return this; }
} else { pkg = ast.newPackageDeclaration(); pkg.setName(ast.newName(pkgName)); rewriter.set(astCU, CompilationUnit.PACKAGE_PROPERTY, pkg, null);
@SuppressWarnings("unchecked") @Test public void test_Existing_Static_Imports2() { AST ast = AST.newAST(AST.JLS4); CompilationUnit cu = ast.newCompilationUnit(); PackageDeclaration packageDeclaration = ast.newPackageDeclaration(); packageDeclaration.setName(ast.newName("org.kissmda.test.junit")); cu.setPackage(packageDeclaration); ImportDeclaration importDeclaration = ast.newImportDeclaration(); importDeclaration .setName(ast.newName("org.junit.Assert.assertNotNull")); importDeclaration.setStatic(true); cu.imports().add(importDeclaration); logger.info(cu.toString()); new ImportPacker(cu).pack(); logger.info(cu.toString()); assertEquals("package org.kissmda.test.junit;\n" // + "import static org.junit.Assert.assertNotNull;", cu .toString().trim()); }
} else { pkg = ast.newPackageDeclaration(); pkg.setName(ast.newName(pkgName)); rewriter.set(astCU, CompilationUnit.PACKAGE_PROPERTY, pkg, null);
AST ast = AST.newAST(AST.JLS3); CompilationUnit unit = ast.newCompilationUnit(); PackageDeclaration packageDeclaration = ast.newPackageDeclaration(); packageDeclaration.setName(ast.newSimpleName("example")); unit.setPackage(packageDeclaration); ImportDeclaration importDeclaration = ast.newImportDeclaration(); QualifiedName name = ast.newQualifiedName( ast.newSimpleName("java"), ast.newSimpleName("util")); importDeclaration.setName(name); importDeclaration.setOnDemand(true); unit.imports().add(importDeclaration); TypeDeclaration type = ast.newTypeDeclaration(); type.setInterface(false); type.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD)); type.setName(ast.newSimpleName("HelloWorld")); // ....