--- a/make/jdk/src/classes/build/tools/generatenimbus/SynthModel.java Mon Oct 16 08:34:01 2017 -0700
+++ b/make/jdk/src/classes/build/tools/generatenimbus/SynthModel.java Mon Oct 16 08:47:59 2017 -0700
@@ -25,26 +25,54 @@
package build.tools.generatenimbus;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
import java.util.ArrayList;
-import javax.xml.bind.annotation.*;
-
-@XmlRootElement(name="synthModel")
public class SynthModel {
- @XmlElement private UIStyle style;
+ private UIStyle style;
- @XmlElement(name="uiColor")
- @XmlElementWrapper(name="colors")
private ArrayList<UIColor> colors;
- @XmlElement(name="uiFont")
- @XmlElementWrapper(name="fonts")
private ArrayList<UIFont> fonts;
- @XmlElement(name="uiComponent")
- @XmlElementWrapper(name="components")
private ArrayList<UIComponent> components;
+ SynthModel(XMLStreamReader reader) throws XMLStreamException {
+ while (reader.hasNext()) {
+ int eventType = reader.next();
+ switch (eventType) {
+ case XMLStreamReader.START_ELEMENT:
+ switch (reader.getLocalName()) {
+ case "style":
+ style = new UIStyle(reader);
+ break;
+ case "colors":
+ colors = new ArrayList<>();
+ break;
+ case "fonts":
+ fonts = new ArrayList<>();
+ break;
+ case "components":
+ components = new ArrayList<>();
+ break;
+ case "uiColor":
+ colors.add(new UIColor(reader));
+ break;
+ case "uiFont":
+ fonts.add(new UIFont(reader));
+ break;
+ case "uiComponent":
+ components.add(new UIComponent(reader));
+ break;
+ }
+ break;
+ case XMLStreamReader.END_ELEMENT:
+ break;
+ }
+ }
+ }
+
public void initStyles() {
for (UIComponent c: components) {
c.initStyles(this.style);