JavaClassSource source = Roaster.create(JavaClassSource.class); source.setName("MyClass").setPublic(); source.addMethod().setName("testMethod").setPrivate().setBody("return null;") .setReturnType(String.class).addAnnotation(MyAnnotation.class); System.out.println(source);
public boolean updateClassName(JavaClassSource javaClassSource, String name) throws Exception { String oldName = javaClassSource.getName(); javaClassSource.setName(name); return StringUtils.equals(oldName, name); }
javaClass.setPackage(pkg).setName(starterName);
source.setPackage(packageName).setName(className);
@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; }
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; }
javaClass.setName(className); javaClass.addAnnotation(Generated.class).setStringValue("value", SpringBootAutoConfigurationMojo.class.getName()); javaClass.addAnnotation("org.springframework.boot.context.properties.ConfigurationProperties").setStringValue("prefix", propertiesPrefix);
.setName(decoratorClassName) .setPackage(javaSource.getPackage()); if (javaSource instanceof Importer)
.setName(decoratorClassName) .setPackage(javaSource.getPackage()); if (javaSource instanceof Importer)
@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; } }
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())); }
JavaClassSource restEndpoint = Roaster.create(JavaClassSource.class) .setPackage(facet.getBasePackage() + ".rest") .setName("HelloWorldEndpoint"); if (hasCDI(installedFractions))
String name = model.getJavaType().substring(pos + 1); name = name.replace("DataFormat", "DataFormatConfiguration"); javaClass.setPackage(packageName).setName(name); javaClass.extendSuperType(Roaster.create(JavaClassSource.class).setName("DataFormatConfigurationPropertiesCommon")); javaClass.addImport("org.apache.camel.spring.boot.DataFormatConfigurationPropertiesCommon");
.setName(builderClassName) .setPackage(javaClass.getPackage()); for (Import i : javaClass.getImports())
.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); } } }
.setPackage(topLevelPackage) .setAbstract(false) .setName(testClassName); testImports.forEach(javaVerticleTestClass::addImport);