001/* *********************************************************************** *
002 * project: org.matsim.*
003 * Departure.java
004 *                                                                         *
005 * *********************************************************************** *
006 *                                                                         *
007 * copyright       : (C) 2009 by the members listed in the COPYING,        *
008 *                   LICENSE and WARRANTY file.                            *
009 * email           : info at matsim dot org                                *
010 *                                                                         *
011 * *********************************************************************** *
012 *                                                                         *
013 *   This program is free software; you can redistribute it and/or modify  *
014 *   it under the terms of the GNU General Public License as published by  *
015 *   the Free Software Foundation; either version 2 of the License, or     *
016 *   (at your option) any later version.                                   *
017 *   See also COPYING, LICENSE and WARRANTY file                           *
018 *                                                                         *
019 * *********************************************************************** */
020
021package org.matsim.pt.transitSchedule.api;
022
023import org.matsim.api.core.v01.Id;
024import org.matsim.api.core.v01.Identifiable;
025import org.matsim.utils.objectattributes.attributable.Attributable;
026import org.matsim.vehicles.Vehicle;
027
028/**
029 * Describes a single departure along a route in a transit line.
030 *
031 * @author mrieser
032 */
033public interface Departure extends Identifiable<Departure>, Attributable {
034
035        double getDepartureTime();
036
037        /**
038         * @param vehicleId the id of the vehicle to be used for this departure, may be <code>null</code>
039         */
040        void setVehicleId(final Id<Vehicle> vehicleId);
041
042        /**
043         * @return The id of the vehicle to be used for this departure, may be <code>null</code>
044         */
045        Id<Vehicle> getVehicleId();
046
047}