ONOS-2294: Redefine LinkResource as interface

LinkResource was defined as an abstract class, but it doesn't define any
methods. Maker interface fits this case.

Note: This change may break backward compatibility for those defining a
sub-class of LinkResource.

Change-Id: I53cb7e8eae7057d07c63960c488979a99cd54d52
diff --git a/core/api/src/main/java/org/onosproject/net/resource/link/BandwidthResource.java b/core/api/src/main/java/org/onosproject/net/resource/link/BandwidthResource.java
index bd0ba23..fe21e04 100644
--- a/core/api/src/main/java/org/onosproject/net/resource/link/BandwidthResource.java
+++ b/core/api/src/main/java/org/onosproject/net/resource/link/BandwidthResource.java
@@ -24,7 +24,7 @@
 /**
  * Representation of bandwidth resource in bps.
  */
-public final class BandwidthResource extends LinkResource {
+public final class BandwidthResource implements LinkResource {
 
     private final Bandwidth bandwidth;
 
diff --git a/core/api/src/main/java/org/onosproject/net/resource/link/LambdaResource.java b/core/api/src/main/java/org/onosproject/net/resource/link/LambdaResource.java
index 7ed8847..3733e46 100644
--- a/core/api/src/main/java/org/onosproject/net/resource/link/LambdaResource.java
+++ b/core/api/src/main/java/org/onosproject/net/resource/link/LambdaResource.java
@@ -24,7 +24,7 @@
 /**
  * Representation of lambda resource.
  */
-public final class LambdaResource extends LinkResource {
+public final class LambdaResource implements LinkResource {
 
     private final IndexedLambda lambda;
 
diff --git a/core/api/src/main/java/org/onosproject/net/resource/link/LinkResource.java b/core/api/src/main/java/org/onosproject/net/resource/link/LinkResource.java
index 6cfa38d..ec06611 100644
--- a/core/api/src/main/java/org/onosproject/net/resource/link/LinkResource.java
+++ b/core/api/src/main/java/org/onosproject/net/resource/link/LinkResource.java
@@ -18,6 +18,5 @@
 /**
  * Abstraction of link resource.
  */
-public abstract class LinkResource {
-
+public interface LinkResource {
 }
diff --git a/core/api/src/main/java/org/onosproject/net/resource/link/MplsLabel.java b/core/api/src/main/java/org/onosproject/net/resource/link/MplsLabel.java
index 317a130..89c8776 100644
--- a/core/api/src/main/java/org/onosproject/net/resource/link/MplsLabel.java
+++ b/core/api/src/main/java/org/onosproject/net/resource/link/MplsLabel.java
@@ -21,7 +21,7 @@
 /**
  * Representation of MPLS label resource.
  */
-public final class MplsLabel extends LinkResource {
+public final class MplsLabel implements LinkResource {
 
     private final org.onlab.packet.MplsLabel mplsLabel;