MATSIM
RunReadNonstandardRoutesExample.java
Go to the documentation of this file.
1 /* *********************************************************************** *
2  * project: org.matsim.*
3  * *
4  * *********************************************************************** *
5  * *
6  * copyright : (C) 2013 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 
23 package tutorial.programming.readingNonstdRoutesIntoScenario;
24 
25 import org.matsim.api.core.v01.Id;
26 import org.matsim.api.core.v01.Scenario;
31 import org.matsim.core.config.Config;
37 
53 
54  public static void main(String[] args) {
55  Config config = ConfigUtils.createConfig();
56  Scenario scenario = ScenarioUtils.createScenario(config);
57  RouteFactories modeRouteFactory = ((PopulationFactory) scenario.getPopulation().getFactory()).getRouteFactories();
58  modeRouteFactory.setRouteFactory(MySpecialRoute.class, new RouteFactory() {
59  @Override
60  public Route createRoute(Id<Link> startLinkId, Id<Link> endLinkId) {
61  return new MySpecialRoute(startLinkId, endLinkId);
62  }
63  @Override
64  public String getCreatedRouteType() {
65  return MySpecialRoute.ROUTE_TYPE;
66  }
67  });
68  ScenarioUtils.loadScenario(scenario);
69  Controler controler = new Controler(scenario);
70  controler.run();
71 
72  }
73 
74  public static class MySpecialRoute implements Route {
75 
76  /*package*/ final static String ROUTE_TYPE = "mySpecialType";
77 
78  public MySpecialRoute(Id<Link> startLinkId, Id<Link> endLinkId) {
79  // TODO Auto-generated method stub
80  }
81 
82  @Override
83  public double getDistance() {
84  // TODO Auto-generated method stub
85  return 0;
86  }
87 
88  @Override
89  public void setDistance(double distance) {
90  // TODO Auto-generated method stub
91 
92  }
93 
94  @Override
95  public double getTravelTime() {
96  // TODO Auto-generated method stub
97  return 0;
98  }
99 
100  @Override
101  public void setTravelTime(double travelTime) {
102  // TODO Auto-generated method stub
103 
104  }
105 
106  @Override
107  public Id<Link> getStartLinkId() {
108  // TODO Auto-generated method stub
109  return null;
110  }
111 
112  @Override
113  public Id<Link> getEndLinkId() {
114  // TODO Auto-generated method stub
115  return null;
116  }
117 
118  @Override
119  public void setStartLinkId(Id<Link> linkId) {
120  // TODO Auto-generated method stub
121 
122  }
123 
124  @Override
125  public void setEndLinkId(Id<Link> linkId) {
126  // TODO Auto-generated method stub
127 
128  }
129 
130  @Override
131  public String getRouteDescription() {
132  // TODO Auto-generated method stub
133  return null;
134  }
135 
136  @Override
137  public void setRouteDescription(String routeDescription) {
138  // TODO Auto-generated method stub
139 
140  }
141 
142  @Override
143  public String getRouteType() {
144  return ROUTE_TYPE;
145  }
146 
147  @Override
148  public Route clone() {
149  // TODO Auto-generated method stub
150  return null;
151  }
152 
153  }
154 
155 }
156 
void setRouteFactory(final Class<?extends Route > routeClass, final RouteFactory factory)
static Config createConfig(final String filename)
static Scenario loadScenario(final Config config)
static Scenario createScenario(final Config config)