View Javadoc
1   package nl.geozet.openls.databinding.gml;
2   
3   import java.util.Vector;
4   
5   import nl.geozet.openls.databinding.common.XmlNamespaceConstants;
6   
7   public class Point {
8       /*
9        * http://schemas.opengis.net/gml/3.2.1/geometryBasic0d1d.xsd
10       * 
11       * <complexType name="PointType"> <complexContent> <extension
12       * base="gml:AbstractGeometricPrimitiveType"> <sequence> <choice> <element
13       * ref="gml:pos"/> <element ref="gml:coordinates"/> </choice> </sequence>
14       * </extension> </complexContent> </complexType>
15       */
16      private final Vector<Pos> pos = new Vector<>();
17      private String srsName;
18  
19      private boolean hasSrsName;
20  
21      public Point() {
22          this.hasSrsName = false;
23      }
24  
25      public void addPos(Pos pos) {
26          this.pos.add(pos);
27      }
28  
29      public Pos getPosAt(int i) {
30          return this.pos.get(i);
31      }
32  
33      public int getPosSize() {
34          return pos.size();
35      }
36  
37      public void setSrsName(String srsName) {
38          this.hasSrsName = true;
39          this.srsName = srsName;
40      }
41  
42      public String getSrsName() {
43          return srsName;
44      }
45  
46      public boolean hasSrsName() {
47          return this.hasSrsName;
48      }
49  
50      public String toXML() {
51          StringBuilder sb = new StringBuilder("<"
52                  + XmlNamespaceConstants.OGC_GML_NAMESPACE_PREFIX + ":Point");
53  
54          if (hasSrsName()) {
55              sb.append(" srsName=\"").append(getSrsName()).append("\"");
56          }
57          sb.append(">");
58          for (Pos p : pos) {
59              sb.append(p.toXML());
60          }
61          sb.append("</" + XmlNamespaceConstants.OGC_GML_NAMESPACE_PREFIX
62                  + ":Point>");
63          return sb.toString();
64  
65          // String xml = "<" + XmlNamespaceConstants.OGC_GML_NAMESPACE_PREFIX
66          // + ":Point";
67          // if (hasSrsName()) {
68          // xml += " srsName=\"" + getSrsName() + "\"";
69          // }
70          // xml += ">";
71          // for (Pos p : pos) {
72          // xml += p.toXML();
73          // }
74          // xml += "</" + XmlNamespaceConstants.OGC_GML_NAMESPACE_PREFIX
75          // + ":Point>";
76          // return xml;
77      }
78  }