1 package org.opentrafficsim.road.network.sampling;
2
3 import org.opentrafficsim.core.network.Node;
4 import org.opentrafficsim.kpi.interfaces.NodeDataInterface;
5
6 /**
7 * <p>
8 * Copyright (c) 2013-2017 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
9 * BSD-style license. See <a href="http://opentrafficsim.org/node/13">OpenTrafficSim License</a>.
10 * <p>
11 * @version $Revision$, $LastChangedDate$, by $Author$, initial version 13 okt. 2016 <br>
12 * @author <a href="http://www.tbm.tudelft.nl/averbraeck">Alexander Verbraeck</a>
13 * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a>
14 * @author <a href="http://www.transport.citg.tudelft.nl">Wouter Schakel</a>
15 */
16 public class NodeData implements NodeDataInterface
17 {
18
19 /** Node. */
20 private final Node node;
21
22 /**
23 * @param node node
24 */
25 public NodeData(final Node node)
26 {
27 this.node = node;
28 }
29
30 /**
31 * @return node.
32 */
33 public final Node getNode()
34 {
35 return this.node;
36 }
37
38 /** {@inheritDoc} */
39 @Override
40 public String getId()
41 {
42 return this.node.getId();
43 }
44
45 /** {@inheritDoc} */
46 @Override
47 public final int hashCode()
48 {
49 final int prime = 31;
50 int result = 1;
51 result = prime * result + ((this.node == null) ? 0 : this.node.hashCode());
52 return result;
53 }
54
55 /** {@inheritDoc} */
56 @Override
57 public final boolean equals(final Object obj)
58 {
59 if (this == obj)
60 {
61 return true;
62 }
63 if (obj == null)
64 {
65 return false;
66 }
67 if (getClass() != obj.getClass())
68 {
69 return false;
70 }
71 NodeData other = (NodeData) obj;
72 if (this.node == null)
73 {
74 if (other.node != null)
75 {
76 return false;
77 }
78 }
79 else if (!this.node.equals(other.node))
80 {
81 return false;
82 }
83 return true;
84 }
85
86 /** {@inheritDoc} */
87 @Override
88 public final String toString()
89 {
90 return "NodeData [node=" + this.node + "]";
91 }
92
93 }