20 package org.matsim.core.population.routes;
22 import java.util.HashMap;
39 private final Map<String, Class<? extends Route>>
type2class =
new HashMap<>();
55 public <R extends Route> R createRoute(
final Class<R> routeClass,
final Id<Link> startLinkId,
final Id<Link> endLinkId) {
56 return (R)this.routeFactories.getOrDefault(routeClass, defaultFactory).createRoute(startLinkId, endLinkId);
68 if (routeClass == null) {
69 this.defaultFactory = factory;
71 if (factory == null) {
72 this.routeFactories.remove(routeClass);
74 this.routeFactories.put(routeClass, factory);
82 return this.type2class.getOrDefault(routeType,
Route.class);
void setRouteFactory(final Class<? extends Route > routeClass, final RouteFactory factory)
final Map< Class<? extends Route >, RouteFactory > routeFactories
final Map< String, Class<? extends Route > > type2class
RouteFactory defaultFactory
String getCreatedRouteType()
Class<? extends Route > getRouteClassForType(String routeType)