blob: 41651def804753ce7780f1850b792430ba4c5413 [file] [log] [blame]
jccfff0de92015-03-28 01:40:08 -07001package org.onosproject.net.resource;
2
3import java.util.Objects;
4
5import org.onosproject.net.Annotations;
6import org.onosproject.net.DeviceId;
7import org.onosproject.net.provider.ProviderId;
8import static com.google.common.base.MoreObjects.toStringHelper;
9
10/**
11 * the implementation of a label resource of a device.
12 */
13public final class DefaultLabelResource implements LabelResource {
14
15 private DeviceId deviceId;
16
17 private LabelResourceId labelResourceId;
18
19 /**
20 * Initialize a label resource object.
21 * @param deviceId device identifier
22 * @param labelResourceId label resource id
23 */
24 public DefaultLabelResource(String deviceId, long labelResourceId) {
25 this.deviceId = DeviceId.deviceId(deviceId);
26 this.labelResourceId = LabelResourceId.labelResourceId(labelResourceId);
27 }
28
29 /**
30 * Initialize a label resource object.
31 * @param deviceId device identifier
32 * @param labelResourceId label resource id
33 */
34 public DefaultLabelResource(DeviceId deviceId,
35 LabelResourceId labelResourceId) {
36 this.deviceId = deviceId;
37 this.labelResourceId = labelResourceId;
38 }
39
40 @Override
41 public DeviceId deviceId() {
42 return deviceId;
43 }
44
45 @Override
46 public LabelResourceId labelResourceId() {
47 return labelResourceId;
48 }
49
50 @Override
51 public Annotations annotations() {
52 return null;
53 }
54
55 @Override
56 public ProviderId providerId() {
57 return null;
58 }
59
60 @Override
61 public int hashCode() {
62 return Objects.hash(deviceId, labelResourceId);
63 }
64
65 @Override
66 public boolean equals(Object obj) {
67 if (obj instanceof DefaultLabelResource) {
68 DefaultLabelResource that = (DefaultLabelResource) obj;
69 return Objects.equals(this.deviceId, that.deviceId)
70 && Objects.equals(this.labelResourceId,
71 that.labelResourceId);
72 }
73 return false;
74 }
75
76 @Override
77 public String toString() {
78 return toStringHelper(this).add("deviceId", deviceId)
79 .add("labelResourceId", labelResourceId).toString();
80 }
81}