47b43e849ecf62242f8cad0ef5cf93810279f10c
[ccsdk/sli.git] /
1 package org.onap.ccsdk.sli.core.slipluginutils.slitopologyutils.topology;
2
3 import org.onap.ccsdk.sli.core.slipluginutils.slitopologyutils.graph.Edge;
4
5 import java.util.Objects;
6
7 import static com.google.common.base.Preconditions.checkNotNull;
8
9 public class LogicalLink implements Edge<Pnf> {
10
11     private final Pnf src;
12     private final Pnf dst;
13     private final Link link;
14
15     public LogicalLink (Pnf src, Pnf dst, Link underlayLink) {
16         this.src = src;
17         this.dst = dst;
18         this.link = underlayLink;
19     }
20
21     public Link underlayLink(){
22         return this.link;
23     }
24
25     @Override
26     public Pnf src() {
27         return src;
28     }
29
30     @Override
31     public Pnf dst() {
32         return dst;
33     }
34
35     @Override
36     public int hashCode() {
37         return link.hashCode();
38     }
39
40     @Override
41     public boolean equals(Object obj) {
42         if (this == obj) {
43             return true;
44         }
45         if (obj instanceof LogicalLink) {
46             final LogicalLink other = (LogicalLink) obj;
47             return Objects.equals(this.link, other.link);
48         }
49         return false;
50     }
51 }