diff -r ea12a3bb4b33 -r 18b3a9a85716 rt/vm/src/main/java/org/apidesign/vm4brwsr/StringArray.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/StringArray.java Tue Feb 24 11:12:53 2015 +0100 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/StringArray.java Fri Feb 27 18:11:54 2015 +0100 @@ -32,16 +32,23 @@ } public void add(String s) { + add(s, false); + } + private boolean add(String s, boolean check) { if (arr == null) { arr = new String[1]; } else { String[] tmp = new String[arr.length + 1]; for (int i = 0; i < arr.length; i++) { + if (check && s.equals(arr[i])) { + return false; + } tmp[i] = arr[i]; } arr = tmp; } arr[arr.length - 1] = s; + return true; } StringArray addAndNew(String... values) { @@ -130,4 +137,8 @@ void clear() { arr = null; } + + boolean addIfMissing(String s) { + return add(s, true); + } }