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) { } }
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; }
PropertySource<JavaClassSource> property = targetClass.addProperty(fieldType, fieldName); FieldSource<JavaClassSource> field = property.getField(); field.setVisibility(visibility);
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; }
PropertySource<JavaClassSource> prop = javaClass.addProperty(type, name); if (!Strings.isBlank(option.getDescription())) { prop.getField().getJavaDoc().setFullText(option.getDescription());
PropertySource<JavaClassSource> bogus = javaClass.addProperty("java.lang.Boolean", "enabled"); bogus.getField().getJavaDoc().setText("Whether to enable auto configuration of the " + model.getName() + " language. This is enabled by default."); bogus.removeAccessor(); PropertySource<JavaClassSource> prop = javaClass.addProperty(type, option.getName()); if ("true".equals(option.getDeprecated())) { prop.getField().addAnnotation(Deprecated.class);
PropertySource<JavaClassSource> bogus = javaClass.addProperty("java.lang.Boolean", "enabled"); bogus.getField().getJavaDoc().setText("Whether to enable auto configuration of the " + model.getName() + " data format. This is enabled by default."); bogus.removeAccessor(); PropertySource<JavaClassSource> prop = javaClass.addProperty(type, option.getName()); if ("true".equals(option.getDeprecated())) { prop.getField().addAnnotation(Deprecated.class);
PropertySource<JavaClassSource> bogus = javaClass.addProperty("java.lang.Boolean", "enabled"); String scheme = overrideComponentName != null ? overrideComponentName : model.getScheme(); bogus.getField().getJavaDoc().setText("Whether to enable auto configuration of the " + scheme + " component. This is enabled by default."); PropertySource<JavaClassSource> prop = javaClass.addProperty(type, option.getName()); if (ADD_NESTED_CONFIGURATION_PROPERTY) { if (!type.endsWith(INNER_TYPE_SUFFIX)
PropertySource<JavaClassSource> prop = commonClass.addProperty(type, option.getName()); if (!Strings.isBlank(option.getDescription())) { prop.getField().getJavaDoc().setFullText(option.getDescription());
final PropertySource<JavaClassSource> prop = innerClass.addProperty(optionType, sourceProp.getName());