[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/tunnel/DomainTunnelId.java b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DomainTunnelId.java
index 430823c..a267c4e 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DomainTunnelId.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/tunnel/DomainTunnelId.java
@@ -16,12 +16,12 @@
 
 package org.onosproject.incubator.net.tunnel;
 
+import org.onlab.util.Identifier;
+
 /**
  * A wrapper class for a long used to identify domain level tunnels.
  */
-public final class DomainTunnelId {
-
-    private final long value;
+public final class DomainTunnelId extends Identifier<Long> {
 
     /**
      * Creates a tunnel identifier from the specified tunnel.
@@ -47,7 +47,7 @@
      * Constructor for serializer.
      */
     protected DomainTunnelId() {
-        this.value = 0;
+        super(0L);
     }
 
     /**
@@ -56,37 +56,11 @@
      * @param value the underlying value of this domain ID
      */
     public DomainTunnelId(long value) {
-        this.value = value;
-    }
-
-    /**
-     * Returns the backing value of this domain ID.
-     *
-     * @return the long value
-     */
-    public long id() {
-        return value;
-    }
-
-    @Override
-    public int hashCode() {
-        return Long.hashCode(value);
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (obj == this) {
-            return true;
-        }
-        if (!(obj instanceof DomainTunnelId)) {
-            return false;
-        }
-        DomainTunnelId that = (DomainTunnelId) obj;
-        return this.value == that.value;
+        super(value);
     }
 
     @Override
     public String toString() {
-        return "0x" + Long.toHexString(value);
+        return "0x" + Long.toHexString(identifier);
     }
 }