List of usage examples for org.eclipse.jdt.core.dom AST newName
public Name newName(String[] identifiers)
From source file:ac.at.tuwien.dsg.uml.statemachine.export.transformation.engines.AbstractStateMachineTestStrategy.java
License:Open Source License
/** * Creates abstract methods which return true * @param javadoc// w w w . j av a 2 s.c o m * @param methodName * @param ast * @return an AST method declaration */ protected MethodDeclaration createAbstractAssertMethod(Javadoc javadoc, String methodName, AST ast) { MethodDeclaration method = ast.newMethodDeclaration(); method.setJavadoc(javadoc); method.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD)); method.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.ABSTRACT_KEYWORD)); method.setName(ast.newSimpleName(methodName)); //escape all spaces in state name /** * add to method generic arguments Object... arguments */ SingleVariableDeclaration param = ast.newSingleVariableDeclaration(); param.setName(ast.newSimpleName("arguments")); param.setType(ast.newSimpleType(ast.newName("Object"))); param.setStructuralProperty(SingleVariableDeclaration.VARARGS_PROPERTY, true); method.setReturnType2(ast.newPrimitiveType(PrimitiveType.BOOLEAN)); return method; }
From source file:ac.at.tuwien.dsg.utest.transformation.umlclassdiagram2javadb.id.rules.UMLClassDiagram2JavaDBTransformationRule.java
License:Open Source License
public Object createTarget(ITransformContext context) { ClassImpl source = (ClassImpl) context.getSource(); Document document = new Document("@NodeType \n public class " + source.getName() + "{ \n"); //below helper classes toi generate our desired .java file ASTParser parser = ASTParser.newParser(AST.JLS8); parser.setSource(document.get().toCharArray()); CompilationUnit cu = (CompilationUnit) parser.createAST(null); cu.recordModifications();//from ww w .jav a 2 s .c o m AST ast = cu.getAST(); ASTRewrite rewriter = ASTRewrite.create(ast); ListRewrite listRewrite = rewriter.getListRewrite(cu, CompilationUnit.TYPES_PROPERTY); //TODO: here we take each property introduced by each Stereotype for (Stereotype stereotype : source.getAppliedStereotypes()) { //get all properties for (Property attribute : stereotype.getAllAttributes()) { //todo } } for (Property property : source.getAllAttributes()) { System.out.println(property.getName()); Association assoc = property.getAssociation(); if (assoc == null) { System.out.format("this is simple %s \n", property.getName()); VariableDeclarationFragment varDecl = ast.newVariableDeclarationFragment(); varDecl.setName(ast.newSimpleName(property.getName())); FieldDeclaration propertyField = ast.newFieldDeclaration(varDecl); propertyField.setType(ast.newSimpleType(ast.newName(property.getType().getName()))); final SingleMemberAnnotation annot = ast.newSingleMemberAnnotation(); annot.setTypeName(ast.newName("Property")); StringLiteral st = ast.newStringLiteral(); st.setLiteralValue("type=\"variable\""); annot.setValue(st); listRewrite.insertLast(annot, null); listRewrite.insertLast(propertyField, null); } else { System.out.format("this is complex %s \n", property.getName()); Type type = assoc.getEndTypes().stream().filter(a -> !a.equals(source)).findFirst().get(); System.out.format("Association end is %s \n", type.getName()); AggregationKind kind = property.getAggregation(); if (kind.equals(AggregationKind.COMPOSITE)) { System.out.format("Composition \n"); } else if (kind.equals(AggregationKind.SHARED)) { System.out.format("Aggregation \n"); } else if (kind.equals(AggregationKind.NONE)) { System.out.format("Association \n"); } } } TextEdit edits = rewriter.rewriteAST(document, null); try { UndoEdit undo = edits.apply(document); } catch (MalformedTreeException | BadLocationException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(document.get()); return null; }
From source file:br.com.objectos.way.core.code.jdt.ASTTest.java
License:Apache License
@SuppressWarnings("unchecked") public void stackoverflow_answer() { AST ast = AST.newAST(AST.JLS8); CompilationUnit cu = ast.newCompilationUnit(); PackageDeclaration p1 = ast.newPackageDeclaration(); p1.setName(ast.newSimpleName("foo")); cu.setPackage(p1);/*from w w w.ja v a 2s .c o m*/ ImportDeclaration id = ast.newImportDeclaration(); id.setName(ast.newName(new String[] { "java", "util", "Set" })); cu.imports().add(id); TypeDeclaration td = ast.newTypeDeclaration(); td.setName(ast.newSimpleName("Foo")); TypeParameter tp = ast.newTypeParameter(); tp.setName(ast.newSimpleName("X")); td.typeParameters().add(tp); cu.types().add(td); MethodDeclaration md = ast.newMethodDeclaration(); md.modifiers().add(ast.newModifier(ModifierKeyword.PUBLIC_KEYWORD)); md.setName(ast.newSimpleName("bar")); SingleVariableDeclaration var = ast.newSingleVariableDeclaration(); var.setType(ast.newSimpleType(ast.newSimpleName("String"))); var.setName(ast.newSimpleName("a")); md.parameters().add(var); td.bodyDeclarations().add(md); Block block = ast.newBlock(); md.setBody(block); MethodInvocation mi = ast.newMethodInvocation(); mi.setName(ast.newSimpleName("x")); ExpressionStatement e = ast.newExpressionStatement(mi); block.statements().add(e); System.out.println(cu); }
From source file:cn.ieclipse.adt.ext.jdt.SourceGenerator.java
License:Apache License
private static void merge(CompilationUnit unit, String pkgName, String typeName, String auth, String dbName, List<String> tableCreators) { unit.recordModifications();// w w w .ja v a 2s . c o m AST ast = unit.getAST(); TypeDeclaration type = (TypeDeclaration) unit.types().get(0); ImportDeclaration id = ast.newImportDeclaration(); id.setName(ast.newName("cn.ieclipse.aorm.Session")); unit.imports().add(id); id = ast.newImportDeclaration(); id.setName(ast.newName("android.content.UriMatcher")); unit.imports().add(id); id = ast.newImportDeclaration(); id.setName(ast.newName("android.database.sqlite.SQLiteDatabase")); unit.imports().add(id); id = ast.newImportDeclaration(); id.setName(ast.newName("android.database.sqlite.SQLiteOpenHelper")); unit.imports().add(id); id = ast.newImportDeclaration(); id.setName(ast.newName("java.net.Uri")); unit.imports().add(id); id = ast.newImportDeclaration(); id.setName(ast.newName("android.content.ContentValue")); unit.imports().add(id); VariableDeclarationFragment vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName("AUTH")); StringLiteral sl = ast.newStringLiteral(); sl.setLiteralValue(auth); vdf.setInitializer(sl); FieldDeclaration fd = ast.newFieldDeclaration(vdf); fd.modifiers().addAll(ast.newModifiers((Modifier.PUBLIC | Modifier.STATIC | Modifier.FINAL))); fd.setType(ast.newSimpleType(ast.newSimpleName("String"))); int i = 0; type.bodyDeclarations().add(i++, fd); // URI = Uri.parse("content://" + AUTH); vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName("URI")); MethodInvocation mi = ast.newMethodInvocation(); mi.setExpression(ast.newSimpleName("Uri")); mi.setName(ast.newSimpleName("parse")); InfixExpression fix = ast.newInfixExpression(); fix.setOperator(InfixExpression.Operator.PLUS); sl = ast.newStringLiteral(); sl.setLiteralValue("content://"); fix.setLeftOperand(sl); fix.setRightOperand(ast.newSimpleName("AUTH")); mi.arguments().add(fix); vdf.setInitializer(mi); fd = ast.newFieldDeclaration(vdf); fd.modifiers().addAll(ast.newModifiers((Modifier.PUBLIC | Modifier.STATIC | Modifier.FINAL))); fd.setType(ast.newSimpleType(ast.newSimpleName("Uri"))); type.bodyDeclarations().add(i++, fd); // private mOpenHelper; vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName("mOpenHelper")); fd = ast.newFieldDeclaration(vdf); fd.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PRIVATE_KEYWORD)); fd.setType(ast.newSimpleType(ast.newName("SQLiteOpenHelper"))); type.bodyDeclarations().add(i++, fd); // private static session; vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName("session")); fd = ast.newFieldDeclaration(vdf); fd.modifiers().addAll(ast.newModifiers((Modifier.PRIVATE | Modifier.STATIC))); fd.setType(ast.newSimpleType(ast.newName("Session"))); type.bodyDeclarations().add(i++, fd); // public static Session getSession(){ // return session; // } MethodDeclaration md = ast.newMethodDeclaration(); md.modifiers().addAll(ast.newModifiers((Modifier.PUBLIC | Modifier.STATIC))); md.setReturnType2(ast.newSimpleType(ast.newName("Session"))); md.setName(ast.newSimpleName("getSession")); Block methodBlock = ast.newBlock(); ReturnStatement returnStmt = ast.newReturnStatement(); returnStmt.setExpression(ast.newSimpleName("session")); methodBlock.statements().add(returnStmt); md.setBody(methodBlock); type.bodyDeclarations().add(i, md); // modify onCreate rewriteOnCreate(unit, dbName, tableCreators); }
From source file:com.android.icu4j.srcgen.RunWithAnnotator.java
License:Apache License
private boolean addRunWithAnnotation(CompilationUnit cu, ASTRewrite rewrite, TypeDeclaration type, String runnerClass, boolean imported) { AST ast = cu.getAST(); QualifiedName qRunWith = (QualifiedName) ast.newName(RUN_WITH_CLASS_NAME); QualifiedName qRunner = (QualifiedName) ast.newName(runnerClass); if (!imported) { appendImport(cu, rewrite, qRunWith); appendImport(cu, rewrite, qRunner); }/*from w w w . ja v a2s.com*/ String runWithName = qRunWith.getName().getIdentifier(); String runnerName = qRunner.getName().getIdentifier(); SingleMemberAnnotation annotation = ast.newSingleMemberAnnotation(); annotation.setTypeName(ast.newSimpleName(runWithName)); TypeLiteral junit4Literal = ast.newTypeLiteral(); junit4Literal.setType(ast.newSimpleType(ast.newSimpleName(runnerName))); annotation.setValue(junit4Literal); ListRewrite lrw = rewrite.getListRewrite(type, type.getModifiersProperty()); lrw.insertFirst(annotation, null); return imported; }
From source file:com.android.ide.eclipse.adt.internal.actions.RenamePackageAction.java
License:Open Source License
private void promptNewName(final IProject project) { ManifestData manifestData = AndroidManifestHelper.parseForData(project); if (manifestData == null) { return;//from w ww . j a va 2 s . c o m } final String old_package_name_string = manifestData.getPackage(); final AST ast_validator = AST.newAST(AST.JLS3); mOldPackageName = ast_validator.newName(old_package_name_string); IInputValidator validator = new IInputValidator() { public String isValid(String newText) { try { ast_validator.newName(newText); } catch (IllegalArgumentException e) { return "Illegal package name."; } if (newText.equals(old_package_name_string)) return "No change."; else return null; } }; InputDialog dialog = new InputDialog(AdtPlugin.getDisplay().getActiveShell(), "Rename Application Package", "Enter new package name:", old_package_name_string, validator); if (dialog.open() == Window.OK) { mNewPackageName = ast_validator.newName(dialog.getValue()); initiateAndroidPackageRefactoring(project); } }
From source file:com.android.ide.eclipse.adt.internal.refactorings.renamepackage.ApplicationPackageNameRefactoringTest.java
License:Open Source License
protected void renamePackage(@NonNull IProject project, @NonNull String newName, @NonNull String expected) throws Exception { ManifestInfo info = ManifestInfo.get(project); String currentPackage = info.getPackage(); assertNotNull(currentPackage);// w w w . j a va2 s .c o m final AST astValidator = AST.newAST(AST.JLS3); Name oldPackageName = astValidator.newName(currentPackage); Name newPackageName = astValidator.newName(newName); ApplicationPackageNameRefactoring refactoring = new ApplicationPackageNameRefactoring(project, oldPackageName, newPackageName); checkRefactoring(refactoring, expected); }
From source file:com.android.ide.eclipse.adt.internal.refactorings.renamepackage.RenamePackageAction.java
License:Open Source License
private void promptNewName(final IProject project) { ManifestData manifestData = AndroidManifestHelper.parseForData(project); if (manifestData == null) { return;// w ww . j ava2s. c om } final String oldPackageNameString = manifestData.getPackage(); final AST astValidator = AST.newAST(AST.JLS3); Name oldPackageName = astValidator.newName(oldPackageNameString); IInputValidator validator = new IInputValidator() { @Override public String isValid(String newText) { try { astValidator.newName(newText); } catch (IllegalArgumentException e) { return "Illegal package name."; } if (newText.equals(oldPackageNameString)) return "No change."; else return null; } }; InputDialog dialog = new InputDialog(AdtPlugin.getShell(), "Rename Application Package", "Enter new package name:", oldPackageNameString, validator); if (dialog.open() == Window.OK) { Name newPackageName = astValidator.newName(dialog.getValue()); initiateAndroidPackageRefactoring(project, oldPackageName, newPackageName); } }
From source file:com.android.ide.eclipse.auidt.internal.refactorings.renamepackage.RenamePackageAction.java
License:Open Source License
private void promptNewName(final IProject project) { ManifestData manifestData = AndroidManifestHelper.parseForData(project); if (manifestData == null) { return;//from w w w .j a v a 2s. c o m } final String oldPackageNameString = manifestData.getPackage(); final AST astValidator = AST.newAST(AST.JLS3); Name oldPackageName = astValidator.newName(oldPackageNameString); IInputValidator validator = new IInputValidator() { @Override public String isValid(String newText) { try { astValidator.newName(newText); } catch (IllegalArgumentException e) { return "Illegal package name."; } if (newText.equals(oldPackageNameString)) return "No change."; else return null; } }; InputDialog dialog = new InputDialog(AdtPlugin.getDisplay().getActiveShell(), "Rename Application Package", "Enter new package name:", oldPackageNameString, validator); if (dialog.open() == Window.OK) { Name newPackageName = astValidator.newName(dialog.getValue()); initiateAndroidPackageRefactoring(project, oldPackageName, newPackageName); } }
From source file:com.crispico.flower.codesync.tests.java.JavaTestsOnSourceCode.java
License:Open Source License
public void testClass_superClass() { AST ast = null; javaCompilationUnit = JavaSyncUtils.loadJavaFile(folder.getFile("ClassA.java"), ASTParser.newParser(AST.JLS3)); javaCompilationUnit.recordModifications(); javaClass = JavaSyncUtils.getMasterClass(javaCompilationUnit); ast = javaClass.getAST();//from w w w . j ava2 s . c o m //rename javaClass.setSuperclassType(ast.newSimpleType(ast.newName("ClassC"))); synchronizeAndCompareMasterClass(); javaCompilationUnit = JavaSyncUtils.loadJavaFile(folder.getFile("ClassA.java"), ASTParser.newParser(AST.JLS3)); javaCompilationUnit.recordModifications(); javaClass = JavaSyncUtils.getMasterClass(javaCompilationUnit); ast = javaClass.getAST(); //remove javaClass.setSuperclassType(null); synchronizeAndCompareMasterClass(); javaCompilationUnit = JavaSyncUtils.loadJavaFile(folder.getFile("ClassA.java"), ASTParser.newParser(AST.JLS3)); javaCompilationUnit.recordModifications(); javaClass = JavaSyncUtils.getMasterClass(javaCompilationUnit); ast = javaClass.getAST(); //add javaClass.setSuperclassType(ast.newSimpleType(ast.newName("ClassB"))); synchronizeAndCompareMasterClass(); }