/*
* Copyright (C) 2010 Paul Watts (paulcwatts@gmail.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.onebusaway.android.io.elements;
public final class ObaTripSchedule {
public static final ObaTripSchedule EMPTY_OBJECT = new ObaTripSchedule();
public static final class StopTime {
//private static final StopTime EMPTY_OBJECT = new StopTime();
private static final StopTime[] EMPTY_ARRAY = new StopTime[]{};
private final String stopId;
private final String stopHeadsign;
private final long arrivalTime;
private final long departureTime;
StopTime() {
stopId = "";
stopHeadsign = "";
arrivalTime = 0;
departureTime = 0;
}
/**
* @return The stop ID of the stop visited during the trip.
*/
public String getStopId() {
return stopId;
}
/**
* @return The headsign of the trip.
*/
public String getHeadsign() {
return stopHeadsign;
}
/**
* @return The time, in seconds since the service start date,
* when the trip arrivals at the specified stop.
*/
public long getArrivalTime() {
return arrivalTime;
}
/**
* @return The time, in seconds since the service start date,
* when the trip leaves the specified stop.
*/
public long getDepartureTime() {
return departureTime;
}
}
private final StopTime[] stopTimes;
private final String timeZone;
private final String previousTripId;
private final String nextTripId;
private ObaTripSchedule() {
stopTimes = StopTime.EMPTY_ARRAY;
timeZone = "";
previousTripId = "";
nextTripId = "";
}
/**
* @return A list of stops visited during the course of the trip,
* in addition to schedule information for those stops.
*/
public StopTime[] getStopTimes() {
return stopTimes;
}
/**
* @return The default time zone for this trip.
*/
public String getTimeZone() {
return timeZone;
}
/**
* @return If this trip is part of a block and has an incoming trip
* from another route, this element will give the ID of the incoming
* trip.
*/
public String getPreviousTripId() {
return previousTripId;
}
/**
* @return If this trip is a part of a block and has an outgoing
* trip to another route, this element will give the ID of the outgoing trip.
*/
public String getNextTripId() {
return nextTripId;
}
}