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