blob: 8e7bac3daa60782b37851a567f9f12d91b1bee11 [file] [log] [blame]
Yuta HIGUCHI9ee60f62014-10-09 10:00:01 -07001package org.onlab.onos.store.device.impl.peermsg;
2
3import java.util.Objects;
4
5import org.onlab.onos.net.DeviceId;
6import org.onlab.onos.net.PortNumber;
7import org.onlab.onos.net.provider.ProviderId;
8
9import com.google.common.base.MoreObjects;
10
11/**
12 * Identifier for PortDescription from a Provider.
13 */
14public final class PortFragmentId {
15 public final ProviderId providerId;
16 public final DeviceId deviceId;
17 public final PortNumber portNumber;
18
19 public PortFragmentId(DeviceId deviceId, ProviderId providerId,
20 PortNumber portNumber) {
21 this.providerId = providerId;
22 this.deviceId = deviceId;
23 this.portNumber = portNumber;
24 }
25
26 @Override
27 public int hashCode() {
28 return Objects.hash(providerId, deviceId, portNumber);
29 };
30
31 @Override
32 public boolean equals(Object obj) {
33 if (this == obj) {
34 return true;
35 }
36 if (!(obj instanceof PortFragmentId)) {
37 return false;
38 }
39 PortFragmentId that = (PortFragmentId) obj;
40 return Objects.equals(this.deviceId, that.deviceId) &&
41 Objects.equals(this.portNumber, that.portNumber) &&
42 Objects.equals(this.providerId, that.providerId);
43 }
44
45 @Override
46 public String toString() {
47 return MoreObjects.toStringHelper(getClass())
48 .add("providerId", providerId)
49 .add("deviceId", deviceId)
50 .add("portNumber", portNumber)
51 .toString();
52 }
53
54 // for serializer
55 @SuppressWarnings("unused")
56 private PortFragmentId() {
57 this.providerId = null;
58 this.deviceId = null;
59 this.portNumber = null;
60 }
61}