blob: 2b9c976f4bc994b4f8536130fde1d30a9cf62159 [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.LinkTuple;
10import net.onrc.onos.core.util.OnosInstanceId;
11import net.onrc.onos.core.util.PortNumber;
12import net.onrc.onos.core.util.SwitchPort;
13
14/**
15 * Wrapper to access {@link ImmutableInternalTopology} as {@link MutableInternalTopology}.
16 */
17public final class ImmutableInternalTopologyWrapper implements MutableInternalTopology {
18
19 private final ImmutableInternalTopology wrapped;
20
21 /**
22 * Constructor.
23 *
24 * @param toWrap {@link ImmutableInternalTopology} to wrap
25 */
26 public ImmutableInternalTopologyWrapper(ImmutableInternalTopology toWrap) {
27 this.wrapped = checkNotNull(toWrap);
28 }
29
30 @Override
31 public void acquireReadLock() {
32 // no-op
33 }
34
35 @Override
36 public void releaseReadLock() {
37 // no-op
38 }
39
40 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070041 public SwitchData getSwitchData(Dpid dpid) {
42 return wrapped.getSwitchData(dpid);
Yuta HIGUCHI06518452014-08-29 15:53:03 -070043 }
44
45 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070046 public Collection<SwitchData> getAllSwitchDataEntries() {
47 return wrapped.getAllSwitchDataEntries();
Yuta HIGUCHI06518452014-08-29 15:53:03 -070048 }
49
50 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070051 public PortData getPortData(SwitchPort port) {
52 return wrapped.getPortData(port);
Yuta HIGUCHI06518452014-08-29 15:53:03 -070053 }
54
55 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070056 public PortData getPortData(Dpid dpid, PortNumber portNumber) {
57 return wrapped.getPortData(dpid, portNumber);
Yuta HIGUCHI06518452014-08-29 15:53:03 -070058 }
59
60 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070061 public Collection<PortData> getPortDataEntries(Dpid dpid) {
62 return wrapped.getPortDataEntries(dpid);
Yuta HIGUCHI06518452014-08-29 15:53:03 -070063 }
64
65 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070066 public Collection<PortData> getAllPortDataEntries() {
67 return wrapped.getAllPortDataEntries();
Yuta HIGUCHI06518452014-08-29 15:53:03 -070068 }
69
70 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070071 public LinkData getLinkData(LinkTuple linkId) {
72 return wrapped.getLinkData(linkId);
Yuta HIGUCHI06518452014-08-29 15:53:03 -070073 }
74
75 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070076 public LinkData getLinkData(LinkTuple linkId, String type) {
77 return wrapped.getLinkData(linkId, type);
Yuta HIGUCHI06518452014-08-29 15:53:03 -070078 }
79
80 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070081 public Collection<LinkData> getLinkDataEntries(LinkTuple linkId) {
82 return wrapped.getLinkDataEntries(linkId);
Yuta HIGUCHI06518452014-08-29 15:53:03 -070083 }
84
85 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070086 public Collection<LinkData> getAllLinkDataEntries() {
87 return wrapped.getAllLinkDataEntries();
Yuta HIGUCHI06518452014-08-29 15:53:03 -070088 }
89
90 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070091 public HostData getHostData(MACAddress mac) {
92 return wrapped.getHostData(mac);
Yuta HIGUCHI06518452014-08-29 15:53:03 -070093 }
94
95 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -070096 public Collection<HostData> getAllHostDataEntries() {
97 return wrapped.getAllHostDataEntries();
Yuta HIGUCHI06518452014-08-29 15:53:03 -070098 }
99
100 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -0700101 public Collection<LinkData> getLinkDataEntriesFrom(SwitchPort srcPort) {
102 return wrapped.getLinkDataEntriesFrom(srcPort);
Yuta HIGUCHI06518452014-08-29 15:53:03 -0700103 }
104
105 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -0700106 public Collection<LinkData> getLinkDataEntriesTo(SwitchPort dstPort) {
107 return wrapped.getLinkDataEntriesTo(dstPort);
Yuta HIGUCHI06518452014-08-29 15:53:03 -0700108 }
109
110 @Override
Yuta HIGUCHI93d35ea2014-08-31 23:26:13 -0700111 public Collection<HostData> getHostDataEntries(SwitchPort port) {
112 return wrapped.getHostDataEntries(port);
Yuta HIGUCHI06518452014-08-29 15:53:03 -0700113 }
114
115 @Override
116 public OnosInstanceId getSwitchMaster(Dpid dpid) {
117 return wrapped.getSwitchMaster(dpid);
118 }
119}