blob: ffdc2fac16770cb1f4925e174063284ec918d2ee [file] [log] [blame]
tom4c6606f2014-09-07 11:11:21 -07001package org.onlab.onos.net.link;
2
3import org.onlab.onos.net.ConnectPoint;
tomeadbb462014-09-07 16:10:19 -07004import org.onlab.onos.net.Link;
tom4c6606f2014-09-07 11:11:21 -07005
6/**
7 * Default implementation of immutable link description entity.
8 */
9public class DefaultLinkDescription implements LinkDescription {
10
tomeadbb462014-09-07 16:10:19 -070011 private final ConnectPoint src;
12 private final ConnectPoint dst;
13 private final Link.Type type;
tom4c6606f2014-09-07 11:11:21 -070014
15 /**
16 * Creates a link description using the supplied information.
17 *
tomeadbb462014-09-07 16:10:19 -070018 * @param src link source
19 * @param dst link destination
20 * @param type link type
tom4c6606f2014-09-07 11:11:21 -070021 */
tomeadbb462014-09-07 16:10:19 -070022 public DefaultLinkDescription(ConnectPoint src, ConnectPoint dst, Link.Type type) {
tom4c6606f2014-09-07 11:11:21 -070023 this.src = src;
24 this.dst = dst;
tomeadbb462014-09-07 16:10:19 -070025 this.type = type;
tom4c6606f2014-09-07 11:11:21 -070026 }
27
28 @Override
29 public ConnectPoint src() {
30 return src;
31 }
32
33 @Override
34 public ConnectPoint dst() {
35 return dst;
36 }
37
tomeadbb462014-09-07 16:10:19 -070038 @Override
39 public Link.Type type() {
tomd176fc42014-09-08 00:12:30 -070040 return type;
tomeadbb462014-09-07 16:10:19 -070041 }
42
tom4c6606f2014-09-07 11:11:21 -070043}