23 * questions. |
23 * questions. |
24 */ |
24 */ |
25 |
25 |
26 package build.tools.generatenimbus; |
26 package build.tools.generatenimbus; |
27 |
27 |
|
28 import javax.xml.stream.XMLStreamException; |
|
29 import javax.xml.stream.XMLStreamReader; |
|
30 import java.util.ArrayList; |
28 import java.util.List; |
31 import java.util.List; |
29 |
32 |
30 import javax.xml.bind.annotation.XmlElement; |
33 class Canvas { |
|
34 private Dimension size; |
31 |
35 |
32 class Canvas { |
|
33 @XmlElement private Dimension size; |
|
34 public Dimension getSize() { return size; } |
36 public Dimension getSize() { return size; } |
35 |
37 |
36 @XmlElement(name="layer") private List<Layer> layers; |
38 private List<Layer> layers; |
37 public List<Layer> getLayers() { return layers; } |
39 public List<Layer> getLayers() { return layers; } |
38 |
40 |
39 @XmlElement private Insets stretchingInsets = null; |
41 private Insets stretchingInsets = null; |
|
42 |
|
43 Canvas(XMLStreamReader reader) throws XMLStreamException { |
|
44 layers = new ArrayList<>(); |
|
45 while (reader.hasNext()) { |
|
46 int eventType = reader.next(); |
|
47 switch (eventType) { |
|
48 case XMLStreamReader.START_ELEMENT: |
|
49 switch (reader.getLocalName()) { |
|
50 case "size": |
|
51 size = new Dimension(reader); |
|
52 break; |
|
53 case "layer": |
|
54 layers.add(new Layer(reader)); |
|
55 break; |
|
56 case "stretchingInsets": |
|
57 stretchingInsets = new Insets(reader); |
|
58 break; |
|
59 } |
|
60 break; |
|
61 case XMLStreamReader.END_ELEMENT: |
|
62 switch (reader.getLocalName()) { |
|
63 case "canvas": |
|
64 return; |
|
65 } |
|
66 break; |
|
67 } |
|
68 } |
|
69 } |
|
70 |
40 public Insets getStretchingInsets() { return stretchingInsets; } |
71 public Insets getStretchingInsets() { return stretchingInsets; } |
41 |
72 |
42 public boolean isBlank() { |
73 public boolean isBlank() { |
43 return layers.size() == 0 || (layers.size() == 1 && layers.get(0).isEmpty()); |
74 return layers.size() == 0 || (layers.size() == 1 && layers.get(0).isEmpty()); |
44 } |
75 } |