[ONOS-4014] Refactor *Id classes to extend from Identifier class
- Refactor most of *Id classes in onos-api package
- Refactor all of *Id classes in incubator package
Change-Id: Ief6322d3fb42c80e82f695e9d4dcee439346215b
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/AlarmEntityId.java b/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/AlarmEntityId.java
index 5bf8674..7b594c2 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/AlarmEntityId.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/AlarmEntityId.java
@@ -15,29 +15,29 @@
*/
package org.onosproject.incubator.net.faultmanagement.alarm;
-import static com.google.common.base.Preconditions.checkArgument;
import com.google.common.collect.ImmutableSet;
+import org.onlab.util.Identifier;
+
import java.net.URI;
-import java.util.Objects;
import java.util.Set;
+import static com.google.common.base.Preconditions.checkArgument;
+
/**
* Immutable representation of a alarm source. It is meaningful within the
* context of a device.
*/
-public final class AlarmEntityId {
+public final class AlarmEntityId extends Identifier<URI> {
public static final AlarmEntityId NONE = new AlarmEntityId(URI.create("none:none"));
public static final Set<String> SCHEMES = ImmutableSet.of("none", "port", "och", "other");
- private final URI uri;
-
private AlarmEntityId(final URI uri) {
- this.uri = uri;
+ super(uri);
}
protected AlarmEntityId() {
- uri = NONE.uri;
+ super(NONE.identifier);
}
public static AlarmEntityId alarmEntityId(final String string) {
@@ -48,28 +48,4 @@
checkArgument(SCHEMES.contains(uri.getScheme()), "Unexpected scheme");
return new AlarmEntityId(uri);
}
-
- @Override
- public String toString() {
- return uri.toString();
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(uri);
-
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof AlarmEntityId) {
- final AlarmEntityId other = (AlarmEntityId) obj;
- return Objects.equals(this.uri, other.uri);
- }
- return false;
- }
-
}
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/AlarmId.java b/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/AlarmId.java
index 4e65009..7c16d98 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/AlarmId.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/AlarmId.java
@@ -16,8 +16,8 @@
package org.onosproject.incubator.net.faultmanagement.alarm;
import com.google.common.annotations.Beta;
-import java.util.Objects;
-import static com.google.common.base.MoreObjects.toStringHelper;
+import org.onlab.util.Identifier;
+
import static com.google.common.base.Preconditions.checkArgument;
/**
* Alarm identifier suitable as an external key.
@@ -25,9 +25,8 @@
* This class is immutable.</p>
*/
@Beta
-public final class AlarmId {
+public final class AlarmId extends Identifier<Long> {
- private final long id;
public static final AlarmId NONE = new AlarmId();
/**
@@ -36,12 +35,12 @@
* @param id the id
*/
private AlarmId(long id) {
+ super(id);
checkArgument(id != 0L, "id must be non-zero");
- this.id = id;
}
private AlarmId() {
- this.id = 0L;
+ super(0L);
}
/**
@@ -60,29 +59,6 @@
* @return backing integer index
*/
public long fingerprint() {
- return id;
+ return identifier;
}
-
- @Override
- public int hashCode() {
- return Objects.hash(id);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof AlarmId) {
- AlarmId other = (AlarmId) obj;
- return Objects.equals(this.id, other.id);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return toStringHelper(this).add("id", id).toString();
- }
-
}