Updated to worldwind release 20070817
[worldwind-tracker.git] / gov / nasa / worldwind / formats / gpx / GpxTrackSegment.java
blob93d8bf6a0538da225dd4976dae44c91cb562c742
1 /*
2 Copyright (C) 2001, 2006 United States Government
3 as represented by the Administrator of the
4 National Aeronautics and Space Administration.
5 All Rights Reserved.
6 */
7 package gov.nasa.worldwind.formats.gpx;
9 import gov.nasa.worldwind.tracks.*;
10 import gov.nasa.worldwind.util.Logging;
12 /**
13 * @author tag
14 * @version $Id: GpxTrackSegment.java 2471 2007-07-31 21:50:57Z tgaskins $
16 public class GpxTrackSegment extends gov.nasa.worldwind.formats.gpx.ElementParser
17 implements TrackSegment
19 private java.util.List<TrackPoint> points =
20 new java.util.ArrayList<TrackPoint>();
22 public GpxTrackSegment(String uri, String lname, String qname, org.xml.sax.Attributes attributes)
24 super("trkseg");
26 // dont' validate uri, lname, qname or attributes as they aren't used.
29 public java.util.List<TrackPoint> getPoints()
31 return this.points;
34 /**
35 * @param uri
36 * @param lname
37 * @param qname
38 * @param attributes
39 * @throws IllegalArgumentException if any parameter is null
40 * @throws org.xml.sax.SAXException
42 @Override
43 public void doStartElement(String uri, String lname, String qname, org.xml.sax.Attributes attributes)
44 throws org.xml.sax.SAXException
46 if (lname == null)
48 String msg = Logging.getMessage("nullValue.LNameIsNull");
49 Logging.logger().severe(msg);
50 throw new IllegalArgumentException(msg);
53 if (uri == null)
55 String msg = Logging.getMessage("nullValue.URIIsNull");
56 Logging.logger().severe(msg);
57 throw new IllegalArgumentException(msg);
59 if (qname == null)
61 String msg = Logging.getMessage("nullValue.QNameIsNull");
62 Logging.logger().severe(msg);
63 throw new IllegalArgumentException(msg);
65 if (attributes == null)
67 String msg = Logging.getMessage("nullValue.AttributesIsNull");
68 Logging.logger().severe(msg);
69 throw new IllegalArgumentException(msg);
72 if (lname.equalsIgnoreCase("trkpt"))
74 this.currentElement = new gov.nasa.worldwind.formats.gpx.GpxTrackPoint(uri, lname, qname, attributes);
75 this.points.add((gov.nasa.worldwind.formats.gpx.GpxTrackPoint) this.currentElement);