Add RestconfQueryParam
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / FilterParam.java
similarity index 70%
rename from restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/FilterParameter.java
rename to restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/FilterParam.java
index 8d4ed56bd4846dcf18c68004873f863851a6c318..f66bd2dfd231c9c4bae853d29be5037f32123433 100644 (file)
@@ -11,35 +11,45 @@ import static java.util.Objects.requireNonNull;
 
 import java.net.URI;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.Immutable;
 
 /**
  * This class represents a {@code filter} parameter as defined in
  * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.4">RFC8040 section 4.8.4</a>.
  */
 
-public final class FilterParameter implements Immutable {
+public final class FilterParam implements RestconfQueryParam<FilterParam> {
     private static final @NonNull URI CAPABILITY = URI.create("urn:ietf:params:restconf:capability:filter:1.0");
 
     // FIXME: can we have a parsed, but not bound version of an XPath, please?
     private final @NonNull String value;
 
-    private FilterParameter(final String value) {
+    private FilterParam(final String value) {
         this.value = requireNonNull(value);
     }
 
-    public static @NonNull FilterParameter forUriValue(final String uriValue) {
-        return new FilterParameter(uriValue);
+    @Override
+    public Class<@NonNull FilterParam> javaClass() {
+        return FilterParam.class;
     }
 
-    public static @NonNull String uriName() {
-        return "filter";
+    @Override
+    public String paramName() {
+        return uriName();
     }
 
-    public @NonNull String uriValue() {
+    @Override
+    public String paramValue() {
         return value;
     }
 
+    public static @NonNull FilterParam forUriValue(final String uriValue) {
+        return new FilterParam(uriValue);
+    }
+
+    public static @NonNull String uriName() {
+        return "filter";
+    }
+
     public static @NonNull URI capabilityUri() {
         return CAPABILITY;
     }