package io.trygvis.container.compiler.model; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class Parameters implements Iterable { private final List parameters = new ArrayList<>(); public ParameterRef addParameter(TypeRef klass, String name) { while (taken(name)) { name = name + "_"; } ParameterRef ref = new ParameterRef(klass, name); parameters.add(ref); return ref; } private boolean taken(String name) { for (ParameterRef parameter : parameters) { if (parameter.name.equals(name)) { return true; } } return false; } @Override public ListIterator iterator() { return parameters.listIterator(); } }