1 package net.jaekl.frank.octranspo;
3 import java.util.ArrayList;
4 import net.jaekl.qd.xml.ParseResult;
5 import net.jaekl.qd.xml.XmlParseException;
7 public class Route extends ParseResult {
8 static final String ROUTE = "Route";
10 static final String ROUTE_NO = "RouteNo";
11 static final String DIRECTION_ID = "DirectionID";
12 static final String DIRECTION = "Direction";
13 static final String ROUTE_HEADING = "RouteHeading";
14 static final String ROUTE_LABEL = "RouteLabel"; // What GetNextTripsForStop calls <RouteHeading>
15 static final String TRIPS = "Trips";
17 static final String TRIP = "Trip";
19 static final String[] INTERNAL = { ROUTE_NO, DIRECTION_ID, DIRECTION, ROUTE_HEADING, ROUTE_LABEL, TRIPS };
20 static final Object[][] EXTERNAL = { { TRIP, Trip.class } };
25 String m_routeHeading;
26 ArrayList<Trip> m_trips;
29 super(ROUTE, INTERNAL, EXTERNAL);
34 m_trips = new ArrayList<Trip>();
37 public int getRouteNo() { return m_routeNo; }
38 public int getDirectionID() { return m_directionID; }
39 public String getDirection() { return m_direction; }
40 public String getRouteHeading() { return m_routeHeading; }
41 public int getNumTrips() { return m_trips.size(); }
42 public Trip getTrip(int idx) { return new Trip(m_trips.get(idx)); }
45 public void endContents(String uri, String localName, String qName, String chars) throws XmlParseException
47 if (ROUTE_NO.equals(localName)) {
48 m_routeNo = Integer.parseInt(chars);
50 else if (DIRECTION_ID.equals(localName)) {
51 m_directionID = Integer.parseInt(chars);
53 else if (DIRECTION.equals(localName)) {
56 else if (ROUTE_HEADING.equals(localName) || ROUTE_LABEL.equals(localName)) {
57 m_routeHeading = chars;
62 public void endExternal(String uri, String localName, String qName) throws XmlParseException
64 if (localName.equals(TRIP)) {
65 ParseResult[] collected = collectParsedChildren(Trip.class);
66 for (ParseResult pr : collected) {
67 assert(pr instanceof Trip);
68 m_trips.add((Trip)pr);