private Artifact generate(TypeInfo typeInfo) { ClassPath classPath = ClassPath.builder() .addJarOf(getClass()) .build(); ProcessorCompiler compiler = classPath.processorCompiler(processingEnv); String message = compiler .compile(typeInfo) .methodInfo("get") .invoke() .invoke(Methods.toStringMethod()) .returnValueAs(String.class); return Artifact.builder() .addArtifact(iface(typeInfo, message)) .addArtifact(txt(typeInfo, message)) .build(); }
public static Builder builder() { return new Builder(); }
public Artifact generate() { BuilderDsl dsl = new BuilderDsl(naming); BuilderImpl impl = new BuilderImpl(naming); dsl.prepare(generatedBy); impl.prepare(generatedBy); List<Property> propertyList = pojoInfo.propertyList0(); for (Property property : propertyList) { dsl.accept(property); impl.accept(property); } return Artifact.builder() .addArtifact(pojoInfo.toArtifact(dsl.generate())) .addArtifact(pojoInfo.toArtifact(impl.generate())) .build(); }
public void accept(Artifact.Builder artifactList) { artifactList.addArtifact(execute()); executeArtifactAction(artifactList); }
public static Collector<Artifact, ?, Artifact> collector() { Supplier<Artifact.Builder> supplier = Artifact::builder; BiConsumer<Artifact.Builder, Artifact> accumulator = (builder, a) -> builder.addArtifact(a); BinaryOperator<Artifact.Builder> combiner = (left, right) -> left.addArtifact(right.build()); Function<Artifact.Builder, Artifact> finisher = (builder) -> builder.build(); return Collector.of(supplier, accumulator, combiner, finisher); }
@Override public final Artifact generate() { pojoClass.onExecute(builder); builder.onExecute(); Artifact.Builder artifactList = Artifact.builder(); pojoClass.accept(artifactList); builder.accept(artifactList); for (ArtifactAction action : artifactActionList) { artifactList.addArtifact(action.execute(pojoInfo)); } return artifactList.build(); }
private void executeArtifactAction(Artifact.Builder artifactList) { for (ArtifactPlugin plugin : artifactPluginList) { if (plugin.test(pojoInfo)) { artifactList.addArtifact(plugin.execute(pojoInfo)); } } }
private Artifact execute(Iterable<? extends Plugin> pluginList) { Artifact.Builder artifactList = Artifact.builder(); executePluginList(pluginList); artifactList.addArtifact(executeMain()); executeArtifactActionList(artifactList); return artifactList.build(); }
@Override public void accept(Artifact.Builder artifactList) { artifactList.addArtifact(builderInterface().execute()); artifactList.addArtifact(builderClass().execute()); }
private void executeArtifactActionList(Artifact.Builder artifactList) { for (ArtifactAction action : artifactActionList) { Artifact artifact = action.execute(pojoInfo); artifactList.addArtifact(artifact); } }