From 35330309221b7c39adf71f508190628459ad7138 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Fri, 2 Aug 2013 02:48:11 +0200 Subject: wip --- .../container/compiler/model/Constructor.java | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Constructor.java (limited to 'container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Constructor.java') diff --git a/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Constructor.java b/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Constructor.java new file mode 100644 index 0000000..43800ce --- /dev/null +++ b/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Constructor.java @@ -0,0 +1,38 @@ +package io.trygvis.container.compiler.model; + +import java.util.ArrayList; +import java.util.List; + +import static org.springframework.util.StringUtils.collectionToDelimitedString; + +public class Constructor { + + private final ClassG g; + private final Parameters parameters; + private final List body; + + public Constructor(ClassG g, Parameters parameters, List body) { + this.g = g; + this.parameters = parameters; + this.body = body; + } + + public List write() { + List body = new ArrayList<>(); + + List ps = new ArrayList<>(); + for (ParameterRef p : parameters) { + ps.add(p.klass.name + " " + p.name); + } + + String params = collectionToDelimitedString(ps, ", "); + + body.add(" public " + g.className + "(" + params + ") {"); + for (String s : this.body) { + body.add(" " + s); + } + body.add(" }"); + + return body; + } +} -- cgit v1.2.3