MATSIM
TransitAgent.java
Go to the documentation of this file.
1 /* *********************************************************************** *
2  * project: org.matsim.*
3  * TransitAgent.java
4  * *
5  * *********************************************************************** *
6  * *
7  * copyright : (C) 2009 by the members listed in the COPYING, *
8  * LICENSE and WARRANTY file. *
9  * email : info at matsim dot org *
10  * *
11  * *********************************************************************** *
12  * *
13  * This program is free software; you can redistribute it and/or modify *
14  * it under the terms of the GNU General Public License as published by *
15  * the Free Software Foundation; either version 2 of the License, or *
16  * (at your option) any later version. *
17  * See also COPYING, LICENSE and WARRANTY file *
18  * *
19  * *********************************************************************** */
20 
21 package org.matsim.core.mobsim.qsim.agents;
22 
23 import java.util.List;
24 
25 import org.apache.logging.log4j.LogManager;
26 import org.apache.logging.log4j.Logger;
27 import org.matsim.api.core.v01.Id;
45 import org.matsim.vehicles.Vehicle;
46 
51  private static final Logger log = LogManager.getLogger(TransitAgent.class);
52 
56 
57  public static TransitAgent createTransitAgent(Person p, Netsim simulation, TimeInterpretation timeInterpretation) {
58  TransitAgent agent = new TransitAgent(p, simulation, timeInterpretation);
59  return agent;
60  }
61 
62  private TransitAgent(final Person p, final Netsim simulation, TimeInterpretation timeInterpretation) {
63  basicAgentDelegate = new BasicPlanAgentImpl( p.getSelectedPlan(), simulation.getScenario(), simulation.getEventsManager(),
64  simulation.getSimTimer(), timeInterpretation ) ;
65  driverAgentDelegate = new PlanBasedDriverAgentImpl( basicAgentDelegate ) ;
66  transitAgentDelegate = new TransitAgentImpl( basicAgentDelegate, simulation.getScenario().getConfig().transit().getBoardingAcceptance() );
67  }
68 
69  @Override
70  public final void endLegAndComputeNextState(double now) {
71  basicAgentDelegate.endLegAndComputeNextState(now);
72  }
73  @Override
74  public final void setStateToAbort(double now) {
75  basicAgentDelegate.setStateToAbort(now);
76  }
77  @Override
78  public final void notifyArrivalOnLinkByNonNetworkMode(Id<Link> linkId) {
79  basicAgentDelegate.notifyArrivalOnLinkByNonNetworkMode(linkId);
80  }
81  @Override
82  public final void endActivityAndComputeNextState(double now) {
83  basicAgentDelegate.endActivityAndComputeNextState(now);
84  }
85  @Override
87  return basicAgentDelegate.getPlannedVehicleId();
88  }
89  @Override
90  public final String getMode() {
91  return basicAgentDelegate.getMode();
92  }
93  @Override
94  public String toString() {
95  return basicAgentDelegate.toString();
96  }
97  @Override
99  return basicAgentDelegate.getExpectedTravelTime();
100  }
101  @Override
102  public final Double getExpectedTravelDistance() {
103  return basicAgentDelegate.getExpectedTravelDistance();
104  }
105  @Override
107  return basicAgentDelegate.getCurrentPlanElement();
108  }
109  @Override
111  return basicAgentDelegate.getNextPlanElement();
112  }
113  @Override
114  public final Plan getCurrentPlan() {
115  return basicAgentDelegate.getCurrentPlan();
116  }
117  @Override
118  public final Id<Person> getId() {
119  return basicAgentDelegate.getId();
120  }
121  @Override
122  public final Person getPerson() {
123  return basicAgentDelegate.getPerson();
124  }
125  @Override
126  public final MobsimVehicle getVehicle() {
127  return basicAgentDelegate.getVehicle();
128  }
129  @Override
130  public final void setVehicle(MobsimVehicle vehicle) {
131  basicAgentDelegate.setVehicle(vehicle);
132  }
133  @Override
134  public final Id<Link> getCurrentLinkId() {
135  return basicAgentDelegate.getCurrentLinkId();
136  }
137  @Override
139  return basicAgentDelegate.getDestinationLinkId();
140  }
141  @Override
142  public final double getActivityEndTime() {
143  return basicAgentDelegate.getActivityEndTime();
144  }
145  @Override
146  public final State getState() {
147  return basicAgentDelegate.getState();
148  }
149  @Override
150  public final void notifyMoveOverNode(Id<Link> newLinkId) {
151  driverAgentDelegate.notifyMoveOverNode(newLinkId);
152  }
153  @Override
154  public final Id<Link> chooseNextLinkId() {
155  return driverAgentDelegate.chooseNextLinkId();
156  }
157  @Override
158  public final boolean isWantingToArriveOnCurrentLink() {
159  return driverAgentDelegate.isWantingToArriveOnCurrentLink();
160  }
161  @Override
162  public final boolean getExitAtStop(TransitStopFacility stop) {
163  return transitAgentDelegate.getExitAtStop(stop);
164  }
165  @Override
166  public final boolean getEnterTransitRoute(TransitLine line, TransitRoute transitRoute, List<TransitRouteStop> stopsToCome,
167  TransitVehicle transitVehicle) {
168  return transitAgentDelegate.getEnterTransitRoute(line, transitRoute, stopsToCome, transitVehicle);
169  }
170  @Override
171  public final double getWeight() {
172  return transitAgentDelegate.getWeight();
173  }
174  @Override
176  return transitAgentDelegate.getDesiredAccessStopId();
177  }
178  @Override
180  return transitAgentDelegate.getDesiredDestinationStopId();
181  }
182 
183  @Override
185  return this.basicAgentDelegate.getPreviousPlanElement();
186  }
187 
188  @Override
190  return this.basicAgentDelegate.getCurrentFacility();
191  }
192 
193  @Override
195  return this.basicAgentDelegate.getDestinationFacility();
196  }
197 
198  @Override
200  return this.basicAgentDelegate.getModifiablePlan();
201  }
202 
203  @Override
204  public void resetCaches() {
205  this.basicAgentDelegate.resetCaches();
206  this.driverAgentDelegate.resetCaches();
207  }
208 
209  @Override
210  public int getCurrentLinkIndex() {
211  return this.basicAgentDelegate.getCurrentLinkIndex();
212  }
213 
214 }
final boolean getEnterTransitRoute(final TransitLine line, final TransitRoute transitRoute, final List< TransitRouteStop > stopsToCome, TransitVehicle transitVehicle)
final void setVehicle(MobsimVehicle vehicle)
final void notifyArrivalOnLinkByNonNetworkMode(Id< Link > linkId)
static TransitAgent createTransitAgent(Person p, Netsim simulation, TimeInterpretation timeInterpretation)
TransitAgent(final Person p, final Netsim simulation, TimeInterpretation timeInterpretation)
final boolean getEnterTransitRoute(TransitLine line, TransitRoute transitRoute, List< TransitRouteStop > stopsToCome, TransitVehicle transitVehicle)
final Id< TransitStopFacility > getDesiredDestinationStopId()
final void notifyMoveOverNode(Id< Link > newLinkId)
final Id< TransitStopFacility > getDesiredDestinationStopId()
TransitConfigGroup transit()
Definition: Config.java:451
final Id< TransitStopFacility > getDesiredAccessStopId()
final Id< TransitStopFacility > getDesiredAccessStopId()
final boolean getExitAtStop(final TransitStopFacility stop)
final void notifyArrivalOnLinkByNonNetworkMode(final Id< Link > linkId)
final boolean getExitAtStop(TransitStopFacility stop)