Add RestconfQueryParam
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / PointParam.java
similarity index 63%
rename from restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/PointParameter.java
rename to restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/PointParam.java
index b3670debfece71a8f460d2cfedf1de2796811b99..1cfc3c01c8293d9404e3f8e92c0609d422836510 100644 (file)
@@ -9,24 +9,39 @@ package org.opendaylight.restconf.nb.rfc8040;
 
 import static java.util.Objects.requireNonNull;
 
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.opendaylight.yangtools.concepts.Immutable;
 
 /**
  * This class represents a {@code point} parameter as defined in
  * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.4">RFC8040 section 4.8.4</a>.
  */
 @NonNullByDefault
-public final class PointParameter implements Immutable {
+public final class PointParam implements RestconfQueryParam<PointParam> {
     // FIXME: This should be ApiPath
     private final String value;
 
-    private PointParameter(final String value) {
+    private PointParam(final String value) {
         this.value = requireNonNull(value);
     }
 
-    public static PointParameter forUriValue(final String uriValue) {
-        return new PointParameter(uriValue);
+    @Override
+    public Class<@NonNull PointParam> javaClass() {
+        return PointParam.class;
+    }
+
+    @Override
+    public String paramName() {
+        return uriName();
+    }
+
+    @Override
+    public String paramValue() {
+        return value;
+    }
+
+    public static PointParam forUriValue(final String uriValue) {
+        return new PointParam(uriValue);
     }
 
     public static String uriName() {