Class Route
- java.lang.Object
-
- org.opentrafficsim.core.network.route.Route
-
- All Implemented Interfaces:
Serializable
,Identifiable
- Direct Known Subclasses:
CompleteRoute
public class Route extends Object implements Serializable, Identifiable
A Route consists of a list of Nodes. A route does not have to be complete. As long as all 'splitting' nodes are part of the route and have a valid successor node (connected by a Link), the strategical planner is able to make a plan. An extension of the Route class exists that contains a complete route, where all nodes on the route have to be present and connected.Copyright (c) 2013-2022 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.$LastChangedDate$, @version $Revision$, by $Author$, initial version Jan 1, 2015
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Route
addNode(Node node)
Add a node to the end of the node list.Route
clone(Network newNetwork)
Clone the Route.boolean
contains(Node node)
Node
destinationNode()
boolean
equals(Object obj)
String
getId()
Node
getNode(int i)
List<Node>
getNodes()
int
hashCode()
int
indexOf(Node node)
Return the index of a Node in this Route, or -1 if this Route does not contain the specified Node.Node
originNode()
int
size()
String
toString()
void
verify()
Verify that there are normal (non Connectors) between adjacent nodes, except at start and end (where Connectors are OK.
-
-
-
Constructor Detail
-
Route
public Route(String id)
Create an empty route.- Parameters:
id
- String; the name of the route.
-
-
Method Detail
-
verify
public void verify()
Verify that there are normal (non Connectors) between adjacent nodes, except at start and end (where Connectors are OK.
-
addNode
public Route addNode(Node node) throws NetworkException
Add a node to the end of the node list.- Parameters:
node
- Node; the node to add.- Returns:
- Route; this route for method chaining
- Throws:
NetworkException
- in case node could not be added to the route.
-
getNode
public final Node getNode(int i) throws NetworkException
- Parameters:
i
- int; the index of the node to obtain- Returns:
- node i.
- Throws:
NetworkException
- if i < 0 or i > size
-
originNode
public final Node originNode() throws NetworkException
- Returns:
- the first node of the route.
- Throws:
NetworkException
- when the list has no nodes.
-
size
public final int size()
- Returns:
- the number of nodes in the list. If the list contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.
-
destinationNode
public final Node destinationNode() throws NetworkException
- Returns:
- the last node of the route.
- Throws:
NetworkException
- when the list has no nodes.
-
indexOf
public final int indexOf(Node node)
Return the index of a Node in this Route, or -1 if this Route does not contain the specified Node.
If this route contains the Node more than once, the index of the first is returned.- Parameters:
node
- Node; the Node to find- Returns:
- int;
-
contains
public final boolean contains(Node node)
- Parameters:
node
- Node; the Node to find- Returns:
- whether the route contains this node (quick using LinkedHashSet);
-
getId
public final String getId()
- Specified by:
getId
in interfaceIdentifiable
- Returns:
- name.
-
clone
public Route clone(Network newNetwork) throws NetworkException
Clone the Route.- Parameters:
newNetwork
- Network; the new network- Returns:
- a clone of this route
- Throws:
NetworkException
- in case the cloning fails
-
-