MATSIM
TransitDriverStartsEvent.java
Go to the documentation of this file.
1 /* *********************************************************************** *
2  * project: org.matsim.*
3  * *
4  * *********************************************************************** *
5  * *
6  * copyright : (C) 2010 by the members listed in the COPYING, *
7  * LICENSE and WARRANTY file. *
8  * email : info at matsim dot org *
9  * *
10  * *********************************************************************** *
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * See also COPYING, LICENSE and WARRANTY file *
17  * *
18  * *********************************************************************** */
19 
20 package org.matsim.api.core.v01.events;
21 
22 import java.util.Map;
23 
24 import org.matsim.api.core.v01.Id;
30 import org.matsim.vehicles.Vehicle;
31 
35 public class TransitDriverStartsEvent extends Event {
36 
37  public static final String EVENT_TYPE = "TransitDriverStarts";
38  public static final String ATTRIBUTE_DRIVER_ID = "driverId";
39  public static final String ATTRIBUTE_VEHICLE_ID = "vehicleId";
40  public static final String ATTRIBUTE_TRANSIT_LINE_ID = "transitLineId";
41  public static final String ATTRIBUTE_TRANSIT_ROUTE_ID = "transitRouteId";
42  public static final String ATTRIBUTE_DEPARTURE_ID = "departureId";
43  private final Id<Person> driverId;
44  private final Id<Vehicle> vehicleId;
47  private final Id<Departure> departureId;
48 
49  public TransitDriverStartsEvent(final double time, final Id<Person> driverId, final Id<Vehicle> vehicleId,
50  final Id<TransitLine> transitLineId, final Id<TransitRoute> transitRouteId, final Id<Departure> departureId) {
51  super(time);
52  this.driverId = driverId;
53  this.vehicleId = vehicleId;
54  this.transitRouteId = transitRouteId;
55  this.transitLineId = transitLineId;
56  this.departureId = departureId;
57  }
58 
60  return driverId;
61  }
62 
64  return vehicleId;
65  }
66 
68  return transitRouteId;
69  }
70 
72  return transitLineId;
73  }
74 
76  return departureId;
77  }
78 
79  @Override
80  public String getEventType() {
81  return EVENT_TYPE;
82  }
83 
84  @Override
85  public Map<String, String> getAttributes() {
86  Map<String, String> atts = super.getAttributes();
87  atts.put(ATTRIBUTE_DRIVER_ID, this.getDriverId().toString());
88  atts.put(ATTRIBUTE_VEHICLE_ID, this.getVehicleId().toString());
89  atts.put(ATTRIBUTE_TRANSIT_LINE_ID, this.getTransitLineId().toString());
90  atts.put(ATTRIBUTE_TRANSIT_ROUTE_ID, this.getTransitRouteId().toString());
91  atts.put(ATTRIBUTE_DEPARTURE_ID, this.getDepartureId().toString());
92  return atts;
93  }
94 
95  @Override
96  public void writeAsXML(StringBuilder out) {
97  writeXMLStart(out);
98 
99  XmlUtils.writeEncodedAttributeKeyValue(out, ATTRIBUTE_DRIVER_ID, this.getDriverId().toString());
100  XmlUtils.writeEncodedAttributeKeyValue(out, ATTRIBUTE_VEHICLE_ID, this.getVehicleId().toString());
101  XmlUtils.writeEncodedAttributeKeyValue(out, ATTRIBUTE_TRANSIT_LINE_ID, this.getTransitLineId().toString());
102  XmlUtils.writeEncodedAttributeKeyValue(out, ATTRIBUTE_TRANSIT_ROUTE_ID, this.getTransitRouteId().toString());
103  XmlUtils.writeEncodedAttributeKeyValue(out, ATTRIBUTE_DEPARTURE_ID, this.getDepartureId().toString());
104 
105  writeXMLEnd(out);
106  }
107 }
final void writeXMLEnd(StringBuilder out)
Definition: Event.java:151
TransitDriverStartsEvent(final double time, final Id< Person > driverId, final Id< Vehicle > vehicleId, final Id< TransitLine > transitLineId, final Id< TransitRoute > transitRouteId, final Id< Departure > departureId)
final void writeXMLStart(StringBuilder out)
Definition: Event.java:116
static StringBuilder writeEncodedAttributeKeyValue(StringBuilder out, String key, String value)
Definition: XmlUtils.java:117