public boolean updatePackage(JavaClassSource javaClassSource, String packageName) { String oldPackageName = javaClassSource.getPackage(); if (packageName == null) { javaClassSource.setDefaultPackage(); } else { javaClassSource.setPackage(packageName); } return StringUtils.equals(oldPackageName, packageName); }
public void createClass() { final JavaClassSource javaClass = Roaster.create(JavaClassSource.class); javaClass.setPackage("com.company.example").setName("Person"); javaClass.addInterface(Serializable.class); javaClass.addField().setName("serialVersionUID").setType("long").setLiteralInitializer("1L").setPrivate() .setStatic(true).setFinal(true); javaClass.addProperty(Integer.class, "id").setMutable(false); javaClass.addProperty(String.class, "firstName"); javaClass.addProperty("String", "lastName"); javaClass.addMethod().setConstructor(true).setPublic().setBody("this.id = id;").addParameter(Integer.class, "id"); try { File file = new File("src/main/java/" + "com.company.example" + "/" + "Person" + ".java"); file.getParentFile().mkdirs(); FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); bw.write(javaClass.toString()); bw.close(); } catch (IOException e) { } }
javaClass.setPackage(pkg).setName(starterName);
JavaClassSource resource = Roaster.parse(JavaClassSource.class, output); resource.addImport(entity.getQualifiedName()); resource.setPackage(context.getTargetPackageName()); return Arrays.asList(resource);
@Override public String generate(final Class cls, JavaClassSource javaClass) { javaClass.setPackage(cls._package().qualifiedName()).setName(cls.name());
private String addJavaVerticle(Project project, String packageName, String className, boolean isMain) { JavaSourceFacet source = project.getFacet(JavaSourceFacet.class); String topLevelPackage; if (packageName == null) { topLevelPackage = source.getBasePackage(); } else { topLevelPackage = packageName; } if (className.endsWith(".java")) { className = className.substring(0, className.length() - ".java".length()); } JavaClassSource mainVerticle = Roaster.create(JavaClassSource.class) .setPackage(topLevelPackage) .setAbstract(false) .setName(className) .setSuperType("io.vertx.core.AbstractVerticle"); mainVerticle .addImport("io.vertx.core.*"); mainVerticle.addMethod().setName("start").setBody( "vertx.createHttpServer().requestHandler(req -> req.response().end(\"Hello World!\")).listen(8080);") .setPublic() .addAnnotation(Override.class); JavaResource resource = source.saveJavaSource(mainVerticle.getEnclosingType()); if (isMain) { ForgeUtils.addPropertyToProject(project, "vertx.verticle", topLevelPackage + "." + className); } addJavaVerticleTest(project,packageName,className); return resource.toString(); }
public static JavaClassSource createGreetingPropertiesClass(JavaClassSource current) { JavaClassSource source = Roaster.create(JavaClassSource.class).setName("GreetingProperties").setPackage(current.getPackage()); source.addAnnotation(Component.class); source.addAnnotation(ConfigurationProperties.class).setStringValue("greeting"); source.addProperty(String.class, "message").getField().setStringInitializer("Hello, %s!"); return source; }
javaClass.setPackage(packageName); javaClass.setName(className); javaClass.addAnnotation(Generated.class).setStringValue("value", SpringBootAutoConfigurationMojo.class.getName());
public static JavaClassSource createGreetingClass(JavaClassSource current) { JavaClassSource source = Roaster.create(JavaClassSource.class).setName("Greeting").setPackage(current.getPackage()); source.addMethod().setPublic().setConstructor(true).setBody("this.id = 0;this.content = null;"); source.addMethod().setPublic().setConstructor(true).setParameters("long id, String content").setBody("this.id = id; this.content = content;"); source.addProperty(String.class, "content"); source.addProperty("long", "id"); Roaster.format(source.toString()); return source; }
@Override public Result execute(UIExecutionContext context) throws Exception { Map<Object, Object> attributeMap = context.getUIContext().getAttributeMap(); Project project = (Project) attributeMap.get(Project.class); if (project.hasFacet(JavaSourceFacet.class)) { JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class); MetadataFacet metadata = project.getFacet(MetadataFacet.class); if (createMain.getValue()) { JavaClassSource javaClass = Roaster .create(JavaClassSource.class) .setPackage(facet.getBasePackage()) .setName("Main") .addMethod("public static void main(String[] args) {}") .setBody("System.out.println(\"Hi there! I was forged as part of the project you call " + metadata.getProjectName() + ".\");") .getOrigin(); facet.saveJavaSource(javaClass); } } return null; } }
Project project = getSelectedProject(uiContext); JavaClassSource javaClass = Roaster.create(JavaClassSource.class).setName(named.getValue()) .setPackage(packageName.getValue());
@Override public Result execute(UIExecutionContext context) throws Exception { Project project = getSelectedProject(context); final DependencyFacet dependencyFacet = project.getFacet(DependencyFacet.class); if (!isArquillianWildflySwarmDependencyInstalled(dependencyFacet)) { installArquillianWildflySwarmDependency(dependencyFacet); } JavaClassSource test = Roaster.create(JavaClassSource.class) .setPackage(targetPackage.getValue()) .setName(named.getValue()); addArquillianRunner(test); addDefaultDeploymentAnnotation(test, project); addArquillianResourceEnricher(test); addTestMethod(test); JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class); facet.saveTestJavaSource(test); return Results.success(String.format("Test Class %s.%s was created", targetPackage.getValue(), named.getValue())); }
.setPackage(facet.getBasePackage() + ".rest") .setName("HelloWorldEndpoint"); if (hasCDI(installedFractions))
type.setPackage(plan.getPackageName());
type.setPackage(plan.getPackageName());
JavaClassSource builderClass = Roaster.create(JavaClassSource.class) .setName(builderClassName) .setPackage(javaClass.getPackage()); for (Import i : javaClass.getImports())
JavaClassSource builderClass = Roaster.create(JavaClassSource.class) .setName(builderClassName) .setPackage(javaClass.getPackage()); for (Import i : javaClass.getImports())
private void createRepositoryConfiguration(JavaClassSource entitySource, Project project) { final String entitySourcePackage = entitySource.getPackage(); // only create repository configuration if we haven't done so already JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class); final DirectoryResource entityPackage = facet.getPackage(entitySourcePackage); final Resource<?> configuration = entityPackage.getChild(REPOSITORY_CONFIGURATION + ".java"); if (configuration == null || !configuration.exists()) { final JavaClassSource source = Roaster.create(JavaClassSource.class) .setName(REPOSITORY_CONFIGURATION) .setPackage(entitySourcePackage); source.addImport("org.springframework.context.annotation.Configuration"); source.addImport("org.springframework.boot.autoconfigure.EnableAutoConfiguration"); source.addImport("org.springframework.transaction.annotation.EnableTransactionManagement"); source.addImport("org.springframework.boot.autoconfigure.domain.EntityScan"); source.addImport("org.springframework.data.jpa.repository.config.EnableJpaRepositories"); source.addAnnotation("Configuration"); source.addAnnotation("EnableAutoConfiguration"); source.addAnnotation("EnableTransactionManagement"); source.addAnnotation("EntityScan") .setStringArrayValue("basePackages", new String[]{entitySourcePackage}); source.addAnnotation("EnableJpaRepositories") .setStringArrayValue("basePackages", new String[]{entitySourcePackage}); facet.saveJavaSource(source); } } }
private JavaClassSource getOrCreateSubresourceClass(ClassPlan plan, JavaClassSource javaClass) { JavaClassSource subresourceClass = plan.getSubresourceClass(); if (subresourceClass != null) { return subresourceClass; } subresourceClass = Roaster.parse( JavaClassSource.class, "class " + javaClass.getName() + "Resources" + " {}" ); subresourceClass.setPackage(plan.getPackageName()); subresourceClass.getJavaDoc().setText("Child mutators for " + javaClass.getName()); subresourceClass.setPublic(); subresourceClass.setStatic(true); javaClass.addField() .setPrivate() .setType(subresourceClass.getName()) .setName("subresources") .setLiteralInitializer("new " + subresourceClass.getName() + "();"); final MethodSource<JavaClassSource> subresourcesMethod = javaClass.addMethod() .setName("subresources") .setPublic(); subresourcesMethod.setReturnType(subresourceClass.getName()); subresourcesMethod.setBody("return this.subresources;"); javaClass.addImport("java.util.List"); javaClass.addImport(Subresource.class); plan.setSubresourceClass(subresourceClass); return subresourceClass; }
private JavaClassSource getOrCreateSubresourceClass(ClassPlan plan, JavaClassSource javaClass) { JavaClassSource subresourceClass = plan.getSubresourceClass(); if (subresourceClass != null) { return subresourceClass; } subresourceClass = Roaster.parse( JavaClassSource.class, "class " + javaClass.getName() + "Resources" + " {}" ); subresourceClass.setPackage(plan.getPackageName()); subresourceClass.getJavaDoc().setText("Child mutators for " + javaClass.getName()); subresourceClass.setPublic(); subresourceClass.setStatic(true); javaClass.addField() .setPrivate() .setType(subresourceClass.getName()) .setName("subresources") .setLiteralInitializer("new " + subresourceClass.getName() + "();"); final MethodSource<JavaClassSource> subresourcesMethod = javaClass.addMethod() .setName("subresources") .setPublic(); subresourcesMethod.setReturnType(subresourceClass.getName()); subresourcesMethod.setBody("return this.subresources;"); javaClass.addImport("java.util.List"); javaClass.addImport(Subresource.class); plan.setSubresourceClass(subresourceClass); return subresourceClass; }