blob: c44dc3bf9271b801a2796b3aa0775c22f466bc3e [file] [log] [blame]
Yuta HIGUCHI06518452014-08-29 15:53:03 -07001package net.onrc.onos.core.topology;
2
3import static com.google.common.base.Preconditions.checkNotNull;
4
5import java.util.Collection;
6
7import net.floodlightcontroller.util.MACAddress;
8import net.onrc.onos.core.util.Dpid;
9import net.onrc.onos.core.util.OnosInstanceId;
10import net.onrc.onos.core.util.PortNumber;
11import net.onrc.onos.core.util.SwitchPort;
12
13/**
14 * Wrapper to access {@link ImmutableTopology} as {@link MutableTopology}.
15 */
16public final class ImmutableTopologyWrapper implements MutableTopology {
17
18 private final ImmutableTopology wrapped;
19
20 /**
21 * Constructor.
22 *
23 * @param toWrap {@link ImmutableTopology} to wrap
24 */
25 public ImmutableTopologyWrapper(ImmutableTopology toWrap) {
26 this.wrapped = checkNotNull(toWrap);
27 }
28
29 @Override
30 public void acquireReadLock() {
31 // no-op
32 }
33
34 @Override
35 public void releaseReadLock() {
36 // no-op
37 }
38
39 @Override
40 public Switch getSwitch(Dpid dpid) {
41 return wrapped.getSwitch(dpid);
42 }
43
44 @Override
45 public Iterable<Switch> getSwitches() {
46 return wrapped.getSwitches();
47 }
48
49 @Override
50 public Port getPort(Dpid dpid, PortNumber portNumber) {
51 return wrapped.getPort(dpid, portNumber);
52 }
53
54 @Override
55 public Port getPort(SwitchPort port) {
56 return wrapped.getPort(port);
57 }
58
59 @Override
60 public Collection<Port> getPorts(Dpid dpid) {
61 return wrapped.getPorts(dpid);
62 }
63
64 @Override
65 public Link getOutgoingLink(Dpid dpid, PortNumber portNumber) {
66 return wrapped.getOutgoingLink(dpid, portNumber);
67 }
68
69 @Override
70 public Link getOutgoingLink(Dpid dpid, PortNumber portNumber, String type) {
71 return wrapped.getOutgoingLink(dpid, portNumber, type);
72 }
73
74 @Override
75 public Link getOutgoingLink(SwitchPort port) {
76 return wrapped.getOutgoingLink(port);
77 }
78
79 @Override
80 public Link getOutgoingLink(SwitchPort port, String type) {
81 return wrapped.getOutgoingLink(port, type);
82 }
83
84 @Override
85 public Collection<Link> getOutgoingLinks(SwitchPort port) {
86 return wrapped.getOutgoingLinks(port);
87 }
88
89 @Override
90 public Link getIncomingLink(Dpid dpid, PortNumber portNumber) {
91 return wrapped.getIncomingLink(dpid, portNumber);
92 }
93
94 @Override
95 public Link getIncomingLink(Dpid dpid, PortNumber portNumber, String type) {
96 return wrapped.getIncomingLink(dpid, portNumber, type);
97 }
98
99 @Override
100 public Link getIncomingLink(SwitchPort port) {
101 return wrapped.getIncomingLink(port);
102 }
103
104 @Override
105 public Link getIncomingLink(SwitchPort port, String type) {
106 return wrapped.getIncomingLink(port, type);
107 }
108
109 @Override
110 public Collection<Link> getIncomingLinks(SwitchPort port) {
111 return wrapped.getIncomingLinks(port);
112 }
113
114 @Override
115 public Link getLink(Dpid srcDpid, PortNumber srcPortNumber, Dpid dstDpid,
116 PortNumber dstPortNumber) {
117 return wrapped.getLink(srcDpid, srcPortNumber, dstDpid, dstPortNumber);
118 }
119
120 @Override
121 public Link getLink(Dpid srcDpid, PortNumber srcPortNumber, Dpid dstDpid,
122 PortNumber dstPortNumber, String type) {
123 return wrapped.getLink(srcDpid, srcPortNumber, dstDpid, dstPortNumber, type);
124 }
125
126 @Override
127 public Iterable<Link> getLinks() {
128 return wrapped.getLinks();
129 }
130
131 @Override
132 public Host getHostByMac(MACAddress address) {
133 return wrapped.getHostByMac(address);
134 }
135
136 @Override
137 public Iterable<Host> getHosts() {
138 return wrapped.getHosts();
139 }
140
141 @Override
142 public Collection<Host> getHosts(SwitchPort port) {
143 return wrapped.getHosts(port);
144 }
145
146 @Override
147 public OnosInstanceId getSwitchMaster(Dpid dpid) {
148 return wrapped.getSwitchMaster(dpid);
149 }
150}