Add RestconfQueryParam
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / WithDefaultsParam.java
similarity index 80%
rename from restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/WithDefaultsParameter.java
rename to restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/WithDefaultsParam.java
index 5d9d72b469a1128303842ef0e6b26405704c0d3f..daf4e77ca5daa2226ca4f4e3901107f91884ef34 100644 (file)
@@ -17,7 +17,7 @@ import org.eclipse.jdt.annotation.Nullable;
  * Enumeration of possible {@code with-defaults} parameter values as defined by
  * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.9">RFC8040, section 4.8.9</a>.
  */
-public enum WithDefaultsParameter {
+public enum WithDefaultsParam implements RestconfQueryParam<WithDefaultsParam> {
     /**
      * Data nodes set to the YANG default by the client are reported.
      */
@@ -39,19 +39,30 @@ public enum WithDefaultsParameter {
 
     private final @NonNull String uriValue;
 
-    WithDefaultsParameter(final String uriValue) {
+    WithDefaultsParam(final String uriValue) {
         this.uriValue = requireNonNull(uriValue);
     }
 
-    public static @NonNull String uriName() {
-        return "with-defaults";
+    @Override
+    public Class<@NonNull WithDefaultsParam> javaClass() {
+        return WithDefaultsParam.class;
+    }
+
+    @Override
+    public String paramName() {
+        return uriName();
     }
 
-    public @NonNull String uriValue() {
+    @Override
+    public String paramValue() {
         return uriValue;
     }
 
-    public static @Nullable WithDefaultsParameter forUriValue(final String uriValue) {
+    public static @NonNull String uriName() {
+        return "with-defaults";
+    }
+
+    public static @Nullable WithDefaultsParam forUriValue(final String uriValue) {
         switch (uriValue) {
             case "explicit":
                 return EXPLICIT;