[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;
-    }
-
 }