1.1 --- a/json/src/main/java/org/netbeans/html/json/impl/ModelProcessor.java Tue Jan 28 08:52:29 2014 +0100
1.2 +++ b/json/src/main/java/org/netbeans/html/json/impl/ModelProcessor.java Tue Jan 28 09:03:10 2014 +0100
1.3 @@ -613,25 +613,31 @@
1.4 Prprt firstArray = null;
1.5 w.write(" private final Object union;\n");
1.6
1.7 - w.append(" public ").append(className).append("() {\n");
1.8 - boolean defaultGenerated = false;
1.9 - for (Element ec : e.getEnclosedElements()) {
1.10 - if (ec.getKind() != ElementKind.ENUM_CONSTANT) {
1.11 - continue;
1.12 + {
1.13 + Model defaultGenerated = null;
1.14 + for (Element ec : e.getEnclosedElements()) {
1.15 + if (ec.getKind() != ElementKind.ENUM_CONSTANT) {
1.16 + continue;
1.17 + }
1.18 + Model em = ec.getAnnotation(Model.class);
1.19 + if (em == null) {
1.20 + continue;
1.21 + }
1.22 + defaultGenerated = em;
1.23 + break;
1.24 }
1.25 - Model em = ec.getAnnotation(Model.class);
1.26 - if (em == null) {
1.27 - continue;
1.28 + w.append(" /** New instance with ").append(defaultGenerated.className()).append(" union */");
1.29 + w.append(" public ").append(className).append("() {\n");
1.30 + if (defaultGenerated != null) {
1.31 + w.append(" this(net.java.html.BrwsrCtx.findDefault(").append(className).append(".class),");
1.32 + w.append(" new ").append(defaultGenerated.className()).append("());\n");
1.33 + } else {
1.34 + w.append(" throw new IllegalStateException();\n");
1.35 + error("There needs to be at least one enum constant!", e);
1.36 + ok = false;
1.37 }
1.38 - defaultGenerated = true;
1.39 - w.append(" this(net.java.html.BrwsrCtx.findDefault(").append(className).append(".class),");
1.40 - w.append(" new ").append(em.className()).append("());\n");
1.41 - break;
1.42 + w.append(" }\n");
1.43 }
1.44 - if (!defaultGenerated) {
1.45 - w.append(" throw new IllegalStateException();\n");
1.46 - }
1.47 - w.append(" }\n");
1.48 for (Element ec : e.getEnclosedElements()) {
1.49 if (ec.getKind() != ElementKind.ENUM_CONSTANT) {
1.50 continue;