MATSIM
LaneImpl.java
Go to the documentation of this file.
1 /* *********************************************************************** *
2  * project: org.matsim.*
3  * *
4  * *********************************************************************** *
5  * *
6  * copyright : (C) 2008 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.lanes;
21 
22 import java.util.ArrayList;
23 import java.util.List;
24 
25 import org.matsim.api.core.v01.Id;
29 
33 final class LaneImpl implements Lane {
34 
35  private Id<Lane> id;
39  private double numberOfRepresentedLanes = 1;
43  private double startsAtMeterFromLinkEnd = 45.0;
44  private List<Id<Link>> toLinkIds;
45  private List<Id<Lane>> toLaneIds;
46  private int alignment = 0;
50  private double capacity = 3600.0;
51 
52  private final Attributes attributes = new AttributesImpl();
53 
54  public LaneImpl(Id<Lane> id) {
55  this.id = id;
56  }
57 
58  @Override
59  public void setNumberOfRepresentedLanes(double number) {
60  this.numberOfRepresentedLanes = number;
61  }
62 
63  @Override
64  public void setStartsAtMeterFromLinkEnd(double meter) {
65  this.startsAtMeterFromLinkEnd = meter;
66  }
67 
68  @Override
69  public Id<Lane> getId() {
70  return id;
71  }
72 
73  @Override
74  public double getNumberOfRepresentedLanes() {
75  return numberOfRepresentedLanes;
76  }
77 
78  @Override
79  public double getStartsAtMeterFromLinkEnd() {
80  return startsAtMeterFromLinkEnd;
81  }
82 
83  @Override
84  public void addToLinkId(Id<Link> id) {
85  if (this.toLinkIds == null) {
86  this.toLinkIds = new ArrayList<>();
87  }
88  this.toLinkIds.add(id);
89  }
90 
91  @Override
92  public List<Id<Link>> getToLinkIds() {
93  return this.toLinkIds;
94  }
95 
96  @Override
97  public void addToLaneId(Id<Lane> id) {
98  if (this.toLaneIds == null) {
99  this.toLaneIds = new ArrayList<>();
100  }
101  this.toLaneIds.add(id);
102  }
103 
104  @Override
105  public List<Id<Lane>> getToLaneIds() {
106  return this.toLaneIds;
107  }
108 
109  @Override
110  public int getAlignment() {
111  return alignment;
112  }
113 
114  @Override
115  public void setAlignment(int alignment) {
116  this.alignment = alignment;
117  }
118 
119  @Override
120  public double getCapacityVehiclesPerHour() {
121  return this.capacity;
122  }
123 
124  @Override
125  public void setCapacityVehiclesPerHour(double capacity) {
126  this.capacity = capacity;
127  }
128 
129  @Override
130  public Attributes getAttributes() {
131  return attributes;
132  }
133 
134 }