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