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); }
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 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(); }
@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 Artifact execute(Iterable<? extends Plugin> pluginList) { Artifact.Builder artifactList = Artifact.builder(); executePluginList(pluginList); artifactList.addArtifact(executeMain()); executeArtifactActionList(artifactList); return artifactList.build(); }