1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Tue Feb 19 15:54:36 2013 +0100
1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Tue Feb 19 16:16:22 2013 +0100
1.3 @@ -46,6 +46,7 @@
1.4 import javax.lang.model.element.VariableElement;
1.5 import javax.lang.model.type.MirroredTypeException;
1.6 import javax.lang.model.type.TypeMirror;
1.7 +import javax.lang.model.util.Types;
1.8 import javax.tools.Diagnostic;
1.9 import javax.tools.FileObject;
1.10 import javax.tools.StandardLocation;
1.11 @@ -398,10 +399,16 @@
1.12 }
1.13 ExecutableElement ee = (ExecutableElement)e;
1.14 final TypeMirror rt = ee.getReturnType();
1.15 - TypeMirror ert = processingEnv.getTypeUtils().erasure(rt);
1.16 - final String tn = ert.toString();
1.17 + final Types tu = processingEnv.getTypeUtils();
1.18 + TypeMirror ert = tu.erasure(rt);
1.19 + String tn = ert.toString();
1.20 + boolean array = false;
1.21 + if (tn.equals("java.util.List")) {
1.22 + array = true;
1.23 + }
1.24 +
1.25 final String sn = ee.getSimpleName().toString();
1.26 - String[] gs = toGetSet(sn, tn, false);
1.27 + String[] gs = toGetSet(sn, tn, array);
1.28
1.29 w.write("public " + tn + " " + gs[0] + "() {\n");
1.30 w.write(" if (locked) throw new IllegalStateException();\n");
1.31 @@ -439,7 +446,12 @@
1.32 w.write(" locked = false;\n");
1.33 w.write(" }\n");
1.34 w.write("}\n");
1.35 -
1.36 +
1.37 + if (array) {
1.38 + w.write("private Object[] " + gs[0] + "ToArray() {\n");
1.39 + w.write(" return " + gs[0] + "().toArray(new Object[0]);\n");
1.40 + w.write("}\n");
1.41 + }
1.42 props.add(e.getSimpleName().toString());
1.43 props.add(gs[2]);
1.44 props.add(null);