diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-08-03 23:13:32 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-08-03 23:13:32 +0200 |
commit | 2b1c32590db960be2b5f62897e65bb10d434cae0 (patch) | |
tree | 84623e4293f59f67331a7760a700121737313c48 /container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Parameters.java | |
parent | df92538ab3d83da9839f08b28fc8a67317565463 (diff) | |
download | container-playground-2b1c32590db960be2b5f62897e65bb10d434cae0.tar.gz container-playground-2b1c32590db960be2b5f62897e65bb10d434cae0.tar.bz2 container-playground-2b1c32590db960be2b5f62897e65bb10d434cae0.tar.xz container-playground-2b1c32590db960be2b5f62897e65bb10d434cae0.zip |
wip
Diffstat (limited to 'container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Parameters.java')
-rw-r--r-- | container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Parameters.java | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Parameters.java b/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Parameters.java index cfd29f9..8f76714 100644 --- a/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Parameters.java +++ b/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/Parameters.java @@ -4,13 +4,30 @@ import java.util.ArrayList; import java.util.List; import java.util.ListIterator; -public class Parameters implements Iterable<ParameterRef> { +public class Parameters implements Iterable<Parameters.ParameterRef> { public static final Parameters noParameters = new Parameters(); private final List<ParameterRef> parameters = new ArrayList<>(); - public ParameterRef addParameter(TypeRef klass, String name) { + public Parameters() { + } + + public Parameters(TypeRef type, String name) { + addParameter(type, name); + } + public Parameters(TypeRef typeA, String nameA, TypeRef typeB, String nameB) { + addParameter(typeA, nameA); + addParameter(typeB, nameB); + } + + public Parameters(TypeRef typeA, String nameA, TypeRef typeB, String nameB, TypeRef typeC, String nameC) { + addParameter(typeA, nameA); + addParameter(typeB, nameB); + addParameter(typeC, nameC); + } + + public ParameterRef addParameter(TypeRef klass, String name) { while (taken(name)) { name = name + "_"; } @@ -34,4 +51,14 @@ public class Parameters implements Iterable<ParameterRef> { public ListIterator<ParameterRef> iterator() { return parameters.listIterator(); } + + public static class ParameterRef { + public final TypeRef klass; + public final String name; + + ParameterRef(TypeRef klass, String name) { + this.klass = klass; + this.name = name; + } + } } |