cu.imports().add(id); TypeDeclaration td = ast.newTypeDeclaration(); td.setName(ast.newSimpleName("Foo")); TypeParameter tp = ast.newTypeParameter();
private TypeDeclaration createViewHolderItemClass( FindViewByIdVisitor findViewByIdVisitor, SimpleName typeName, TypeNameDecider typeNameDecider) { final ASTBuilder b = this.ctx.getASTBuilder(); TypeDeclaration result = b.getAST().newTypeDeclaration(); modifiers(result).addAll(asList(b.private0(), b.static0())); result.setName(typeName); List<BodyDeclaration> viewItemsFieldDecls = bodyDeclarations(result); for (FindViewByIdVisitor.FindViewByIdItem item : findViewByIdVisitor.items) { viewItemsFieldDecls.add(item.toFieldDecl(b, typeNameDecider)); } return result; }
private static TypeDeclaration createType(final AST ast, final CompilationUnit cu, final Consumer<TypeDeclaration> typeCustomizer, final TypeInformation type) { final TypeDeclaration td = ast.newTypeDeclaration(); makePublic(td); if (typeCustomizer != null) { typeCustomizer.accept(td); } addJavadoc(ast, type, td); td.setName(ast.newSimpleName(type.getName())); return td; }
/** * Create a type declaration. * * @param cname class name * @param isenum Java 5 enum class flag * @return type declaration */ private AbstractTypeDeclaration createClass(String cname, boolean isenum) { AbstractTypeDeclaration abstype; if (isenum) { abstype = m_ast.newEnumDeclaration(); } else { TypeDeclaration type = m_ast.newTypeDeclaration(); type.setInterface(false); abstype = type; } abstype.modifiers().add(m_ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD)); abstype.setName(m_ast.newSimpleName(cname)); return abstype; }
@Test public void testCreateReturnTypeGenericsAsCollectionResultSortedSet() { Map<String, String> javaTypes = createJavaTypes(); when(dataTypeUtils.getJavaTypes()).thenReturn(javaTypes); when( dataTypeUtils .isParameterizedType("CompanyAttribute<String, Integer>")) .thenReturn(true); when(dataTypeUtils.isParameterizedType("String")).thenReturn(false); when(dataTypeUtils.isArrayType("String")).thenReturn(false); when(dataTypeUtils.isPrimitiveType("String")).thenReturn(false); when(dataTypeUtils.isParameterizedType("Integer")).thenReturn(false); when(dataTypeUtils.isArrayType("Integer")).thenReturn(false); when(dataTypeUtils.isPrimitiveType("Integer")).thenReturn(false); TypeDeclaration td = ast.newTypeDeclaration(); MethodDeclaration md = ast.newMethodDeclaration(); String umlTypeName = "CompanyAttribute<String, Integer>"; String umlQualifiedTypeName = "Validation Profile::OCL Library::CompanyAttribute<String, Integer>"; String sourceDirectoryPackageName = "Data"; jdtHelper.createReturnTypeAsCollection(ast, td, md, umlTypeName, umlQualifiedTypeName, sourceDirectoryPackageName, JdtHelper.JAVA_UTIL_SORTEDSET); assertEquals("java.util.SortedSet<CompanyAttribute<String,Integer>>", md.getReturnType2().toString()); }
@Test public void testCreateReturnType() { Map<String, String> javaTypes = createJavaTypes(); when(dataTypeUtils.getJavaTypes()).thenReturn(javaTypes); TypeDeclaration td = ast.newTypeDeclaration(); MethodDeclaration md = ast.newMethodDeclaration(); String umlTypeName = "Collection"; String umlQualifiedTypeName = "Validation Profile::OCL Library::Collection"; String sourceDirectoryPackageName = "Data"; jdtHelper.createReturnType(ast, td, md, umlTypeName, umlQualifiedTypeName, sourceDirectoryPackageName); assertEquals("java.util.Collection", md.getReturnType2().toString()); }
@Test public void testCreateParameterTypesAsCollection() { Map<String, String> javaTypes = createJavaTypes(); when(dataTypeUtils.getJavaTypes()).thenReturn(javaTypes); TypeDeclaration td = ast.newTypeDeclaration(); MethodDeclaration md = ast.newMethodDeclaration(); String umlTypeName = "Person"; String umlQualifiedTypeName = "Validation Profile::OCL Library::Person"; String sourceDirectoryPackageName = "Data"; String umlPropertyName = "persons"; jdtHelper.createParameterTypesAsCollection(ast, td, md, umlTypeName, umlQualifiedTypeName, umlPropertyName, sourceDirectoryPackageName, JdtHelper.JAVA_UTIL_COLLECTION); SingleVariableDeclaration variableDeclaration = (SingleVariableDeclaration) md .parameters().get(0); assertEquals("java.util.Collection<Person> persons", variableDeclaration.toString()); }
@Test public void testCreateParameterTypes() { Map<String, String> javaTypes = createJavaTypes(); when(dataTypeUtils.getJavaTypes()).thenReturn(javaTypes); TypeDeclaration td = ast.newTypeDeclaration(); MethodDeclaration md = ast.newMethodDeclaration(); String umlTypeName = "Person"; String umlQualifiedTypeName = "Validation Profile::OCL Library::Person"; String sourceDirectoryPackageName = "Data"; String umlPropertyName = "person"; jdtHelper.createParameterTypes(ast, td, md, umlTypeName, umlQualifiedTypeName, umlPropertyName, sourceDirectoryPackageName); SingleVariableDeclaration variableDeclaration = (SingleVariableDeclaration) md .parameters().get(0); assertEquals("Person person", variableDeclaration.toString()); }
@Test public void testCreateReturnTypeAsCollectionResultSet() { Map<String, String> javaTypes = createJavaTypes(); when(dataTypeUtils.getJavaTypes()).thenReturn(javaTypes); TypeDeclaration td = ast.newTypeDeclaration(); MethodDeclaration md = ast.newMethodDeclaration(); String umlTypeName = "String"; String umlQualifiedTypeName = "Validation Profile::OCL Library::String"; String sourceDirectoryPackageName = "Data"; jdtHelper.createReturnTypeAsCollection(ast, td, md, umlTypeName, umlQualifiedTypeName, sourceDirectoryPackageName, JdtHelper.JAVA_UTIL_SET); assertEquals("java.util.Set<String>", md.getReturnType2().toString()); }
@Test public void testCreateReturnTypeAsCollectionResultList() { Map<String, String> javaTypes = createJavaTypes(); when(dataTypeUtils.getJavaTypes()).thenReturn(javaTypes); TypeDeclaration td = ast.newTypeDeclaration(); MethodDeclaration md = ast.newMethodDeclaration(); String umlTypeName = "String"; String umlQualifiedTypeName = "Validation Profile::OCL Library::String"; String sourceDirectoryPackageName = "Data"; jdtHelper.createReturnTypeAsCollection(ast, td, md, umlTypeName, umlQualifiedTypeName, sourceDirectoryPackageName, JdtHelper.JAVA_UTIL_LIST); assertEquals("java.util.List<String>", md.getReturnType2().toString()); }
@Test public void testCreateReturnTypeAsCollectionResultCollection() { Map<String, String> javaTypes = createJavaTypes(); when(dataTypeUtils.getJavaTypes()).thenReturn(javaTypes); TypeDeclaration td = ast.newTypeDeclaration(); MethodDeclaration md = ast.newMethodDeclaration(); String umlTypeName = "String"; String umlQualifiedTypeName = "Validation Profile::OCL Library::String"; String sourceDirectoryPackageName = "Data"; jdtHelper.createReturnTypeAsCollection(ast, td, md, umlTypeName, umlQualifiedTypeName, sourceDirectoryPackageName, JdtHelper.JAVA_UTIL_COLLECTION); assertEquals("java.util.Collection<String>", md.getReturnType2() .toString()); }
@Test public void testGenerateConstructors() { AST ast = AST.newAST(AST.JLS3); TypeDeclaration td = ast.newTypeDeclaration(); td.setName(ast.newSimpleName("CompanyException")); when(clazz.getName()).thenReturn("CompanyException"); exceptionGenerator.generateConstructors(clazz, ast, td); assertEquals( "class CompanyException {\n public CompanyException(){\n }\n" + " public CompanyException( Throwable cause){\n" + " super(cause);\n }\n public CompanyException( String message){\n" + " super(message);\n }\n" + " public CompanyException( String message, Throwable cause){\n" + " super(message,cause);\n }\n" + "}\n", td.toString()); }
@Test public void testGenerateConstructorWithParams() { AST ast = AST.newAST(AST.JLS3); TypeDeclaration td = ast.newTypeDeclaration(); td.setName(ast.newSimpleName("CompanyException")); when(clazz.getName()).thenReturn("CompanyException"); exceptionGenerator.generateConstructorWithParams(clazz, ast, td, new String[] { "String", "Throwable" }, new String[] { "message", "cause" }); assertEquals( "class CompanyException {\n" + " public CompanyException( String message, Throwable cause){\n" + " super(message,cause);\n }\n" + "}\n", td.toString()); } }
@Test public void testCreateReturnTypeAsCollectionResultSortedSet() { Map<String, String> javaTypes = createJavaTypes(); when(dataTypeUtils.getJavaTypes()).thenReturn(javaTypes); TypeDeclaration td = ast.newTypeDeclaration(); MethodDeclaration md = ast.newMethodDeclaration(); String umlTypeName = "String"; String umlQualifiedTypeName = "Validation Profile::OCL Library::String"; String sourceDirectoryPackageName = "Data"; jdtHelper.createReturnTypeAsCollection(ast, td, md, umlTypeName, umlQualifiedTypeName, sourceDirectoryPackageName, JdtHelper.JAVA_UTIL_SORTEDSET); assertEquals("java.util.SortedSet<String>", md.getReturnType2() .toString()); }
@SuppressWarnings("unchecked") @Test public void testGenerateClassWithTemplate() { TemplateSignature templateSignature = mock(TemplateSignature.class); EList<TemplateParameter> templateParameters = mock(EList.class, Answers.RETURNS_DEEP_STUBS.get()); when(clazz.getOwnedTemplateSignature()).thenReturn(templateSignature); when(templateSignature.getParameters()).thenReturn(templateParameters); AST ast = AST.newAST(AST.JLS3); CompilationUnit cu = ast.newCompilationUnit(); TypeDeclaration td = ast.newTypeDeclaration(); td.setInterface(true); Modifier modifier = ast .newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD); td.modifiers().add(modifier); td.setName(ast.newSimpleName("Company")); TypeDeclaration typeDeclaration = interfaceGenerator.generateClass( clazz, ast, cu); assertEquals(typeDeclaration.toString(), td.toString()); }
@SuppressWarnings("unchecked") @Test public void testGenerateAssociationEndUpperCardinalityMultiplesIsUnique() { AST ast = AST.newAST(AST.JLS3); ast.newCompilationUnit(); TypeDeclaration td = ast.newTypeDeclaration(); td.setInterface(true); Modifier modifier = ast .newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD); td.modifiers().add(modifier); td.setName(ast.newSimpleName("Company")); Property property = mock(Property.class); MethodDeclaration mdGetter = ast.newMethodDeclaration(); mdGetter.setName(ast.newSimpleName("getCompanies")); String umlQualifiedTypeName = "test.de.Company"; String umlTypeName = "Company"; when(property.isOrdered()).thenReturn(false); when(property.isUnique()).thenReturn(true); interfaceGenerator.generateAssociationEndUpperCardinalityMultiples(ast, td, property, mdGetter, umlTypeName, umlQualifiedTypeName); assertEquals("java.util.Set<test.de.Company>", mdGetter .getReturnType2().toString()); }
@SuppressWarnings("unchecked") @Test public void testGenerateAssociationEndUpperCardinalityMultiplesIsUniqueAndIsOrdered() { AST ast = AST.newAST(AST.JLS3); ast.newCompilationUnit(); TypeDeclaration td = ast.newTypeDeclaration(); td.setInterface(true); Modifier modifier = ast .newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD); td.modifiers().add(modifier); td.setName(ast.newSimpleName("Company")); Property property = mock(Property.class); MethodDeclaration mdGetter = ast.newMethodDeclaration(); mdGetter.setName(ast.newSimpleName("getCompanies")); String umlQualifiedTypeName = "test.de.Company"; String umlTypeName = "Company"; when(property.isOrdered()).thenReturn(true); when(property.isUnique()).thenReturn(true); interfaceGenerator.generateAssociationEndUpperCardinalityMultiples(ast, td, property, mdGetter, umlTypeName, umlQualifiedTypeName); assertEquals("java.util.SortedSet<test.de.Company>", mdGetter .getReturnType2().toString()); }
@Test public void testGenerateSerialVersionUID() { AST ast = AST.newAST(AST.JLS3); TypeDeclaration td = ast.newTypeDeclaration(); td.setName(ast.newSimpleName("Company")); exceptionGenerator.generateSerialVersionUID(clazz, ast, td); assertEquals( "class Company {\n private static final long serialVersionUID=1L;\n}\n", td.toString()); }
@SuppressWarnings("unchecked") @Test public void testGenerateClass() { AST ast = AST.newAST(AST.JLS3); CompilationUnit cu = ast.newCompilationUnit(); TypeDeclaration td = ast.newTypeDeclaration(); td.setInterface(true); Modifier modifier = ast .newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD); td.modifiers().add(modifier); td.setName(ast.newSimpleName("Company")); TypeDeclaration typeDeclaration = interfaceGenerator.generateClass( clazz, ast, cu); assertEquals(typeDeclaration.toString(), td.toString()); }
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")); // ....