Modify DiscreteResourceCodec interface
This is for ONOS-4281
Change-Id: Idaa4e3666946ebf1a76abfeb54c626dfb50082c4
(cherry picked from commit 81b75a9e00061d655b2cfbdb8c734753b2bb8c09)
diff --git a/core/api/src/main/java/org/onosproject/net/resource/MplsCodec.java b/core/api/src/main/java/org/onosproject/net/resource/MplsCodec.java
index 8187d94..4e651b5 100644
--- a/core/api/src/main/java/org/onosproject/net/resource/MplsCodec.java
+++ b/core/api/src/main/java/org/onosproject/net/resource/MplsCodec.java
@@ -18,25 +18,19 @@
import com.google.common.annotations.Beta;
import org.onlab.packet.MplsLabel;
-import java.util.Optional;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
/**
* Codec for MplsLabel.
*/
@Beta
-public final class MplsCodec implements DiscreteResourceCodec {
+public final class MplsCodec implements DiscreteResourceCodec<MplsLabel> {
@Override
- public int encode(DiscreteResource resource) {
- Optional<MplsLabel> mpls = resource.valueAs(MplsLabel.class);
- checkArgument(mpls.isPresent());
- return mpls.map(MplsLabel::toInt).get();
+ public int encode(MplsLabel resource) {
+ return resource.toInt();
}
@Override
- public DiscreteResource decode(DiscreteResourceId parent, int value) {
- return Resources.discrete(parent, MplsLabel.mplsLabel(value)).resource();
+ public MplsLabel decode(int value) {
+ return MplsLabel.mplsLabel(value);
}
@Override