diff options
Diffstat (limited to 'framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/DefaultLabelResource.java')
-rw-r--r-- | framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/DefaultLabelResource.java | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/DefaultLabelResource.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/DefaultLabelResource.java new file mode 100644 index 00000000..23663d38 --- /dev/null +++ b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/DefaultLabelResource.java @@ -0,0 +1,83 @@ +package org.onosproject.incubator.net.resource.label; + +import java.util.Objects; + +import com.google.common.annotations.Beta; +import org.onosproject.net.Annotations; +import org.onosproject.net.DeviceId; +import org.onosproject.net.provider.ProviderId; +import static com.google.common.base.MoreObjects.toStringHelper; + +/** + * the implementation of a label resource of a device. + */ +@Beta +public final class DefaultLabelResource implements LabelResource { + + private DeviceId deviceId; + + private LabelResourceId labelResourceId; + + /** + * Initialize a label resource object. + * @param deviceId device identifier + * @param labelResourceId label resource id + */ + public DefaultLabelResource(String deviceId, long labelResourceId) { + this.deviceId = DeviceId.deviceId(deviceId); + this.labelResourceId = LabelResourceId.labelResourceId(labelResourceId); + } + + /** + * Initialize a label resource object. + * @param deviceId device identifier + * @param labelResourceId label resource id + */ + public DefaultLabelResource(DeviceId deviceId, + LabelResourceId labelResourceId) { + this.deviceId = deviceId; + this.labelResourceId = labelResourceId; + } + + @Override + public DeviceId deviceId() { + return deviceId; + } + + @Override + public LabelResourceId labelResourceId() { + return labelResourceId; + } + + @Override + public Annotations annotations() { + return null; + } + + @Override + public ProviderId providerId() { + return null; + } + + @Override + public int hashCode() { + return Objects.hash(deviceId, labelResourceId); + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof DefaultLabelResource) { + DefaultLabelResource that = (DefaultLabelResource) obj; + return Objects.equals(this.deviceId, that.deviceId) + && Objects.equals(this.labelResourceId, + that.labelResourceId); + } + return false; + } + + @Override + public String toString() { + return toStringHelper(this).add("deviceId", deviceId) + .add("labelResourceId", labelResourceId).toString(); + } +} |