blob: 97ee8b50eb774eb65e15d9c4ac4a4b8b2ab6cc92 [file] [log] [blame]
Jonathan Hart062a2e82014-02-03 09:41:57 -08001package net.onrc.onos.ofcontroller.networkgraph;
2
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -08003/**
4 * Port Object stored in In-memory Topology.
5 *
6 * TODO REMOVE following design memo: This object itself may hold the DBObject,
7 * but this Object itself will not issue any read/write to the DataStore.
8 */
Jonathan Hart062a2e82014-02-03 09:41:57 -08009public class PortImpl extends NetworkGraphObject implements Port {
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -080010
Jonathan Hart062a2e82014-02-03 09:41:57 -080011 private Switch sw;
Toshio Koide2f570c12014-02-06 16:55:32 -080012 private Long number;
13 protected Link outgoingLink;
14 protected Link incomingLink;
Jonathan Hart062a2e82014-02-03 09:41:57 -080015
Toshio Koide2f570c12014-02-06 16:55:32 -080016 public PortImpl(NetworkGraph graph, Switch parentSwitch, Long number) {
Jonathan Hart062a2e82014-02-03 09:41:57 -080017 super(graph);
Toshio Koide2f570c12014-02-06 16:55:32 -080018 this.sw = parentSwitch;
19 this.number = number;
Jonathan Hart062a2e82014-02-03 09:41:57 -080020 }
21
22 @Override
Toshio Koide2f570c12014-02-06 16:55:32 -080023 public Long getNumber() {
Jonathan Hart062a2e82014-02-03 09:41:57 -080024 return number;
25 }
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -080026
Jonathan Hart062a2e82014-02-03 09:41:57 -080027 @Override
Toshio Koide2f570c12014-02-06 16:55:32 -080028 public Long getHardwareAddress() {
Jonathan Hart062a2e82014-02-03 09:41:57 -080029 // TODO Auto-generated method stub
Toshio Koide2f570c12014-02-06 16:55:32 -080030 return 0L;
Jonathan Hart062a2e82014-02-03 09:41:57 -080031 }
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -080032
Jonathan Hart062a2e82014-02-03 09:41:57 -080033 @Override
34 public Switch getSwitch() {
35 return sw;
36 }
Yuta HIGUCHI181d34d2014-02-05 15:05:46 -080037
Toshio Koide2f570c12014-02-06 16:55:32 -080038 @Override
39 public Link getOutgoingLink() {
40 return outgoingLink;
Jonathan Hart062a2e82014-02-03 09:41:57 -080041 }
42
43 @Override
Toshio Koide2f570c12014-02-06 16:55:32 -080044 public Link getIncomingLink() {
45 return incomingLink;
Jonathan Hart062a2e82014-02-03 09:41:57 -080046 }
47
Toshio Koide2f570c12014-02-06 16:55:32 -080048 public void setOutgoingLink(Link link) {
49 outgoingLink = link;
50 }
51
52 public void setIncomingLink(Link link) {
53 incomingLink = link;
54 }
55
56 @Override
57 public String toString() {
58 return String.format("%d:%d",
59 getSwitch().getDpid(),
60 getNumber());
61 }
Jonathan Hart062a2e82014-02-03 09:41:57 -080062}