Add representations of RFC8040 query parameters
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / FieldsParameter.java
index e8290ad871714a976e048b324c6f787de43e02ef..3ef1531154993694aceaf9b0700ccdef686f9ea5 100644 (file)
@@ -13,13 +13,14 @@ import static java.util.Objects.requireNonNull;
 import com.google.common.annotations.Beta;
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableList;
+import java.net.URI;
 import java.text.ParseException;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.opendaylight.restconf.nb.rfc8040.ApiPath.ApiIdentifier;
 import org.opendaylight.yangtools.concepts.Immutable;
 
 /**
- * This class represents a "fields" parameter as defined in
+ * This class represents a {@code fields} parameter as defined in
  * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.3">RFC8040 section 4.8.3</a>.
  */
 @Beta
@@ -72,6 +73,8 @@ public final class FieldsParameter implements Immutable {
         }
     }
 
+    private static final URI CAPABILITY = URI.create("urn:ietf:params:restconf:capability:fields:1.0");
+
     private final ImmutableList<NodeSelector> nodeSelectors;
 
     FieldsParameter(final ImmutableList<NodeSelector> nodeSelectors) {
@@ -90,6 +93,14 @@ public final class FieldsParameter implements Immutable {
         return new FieldsParameterParser().parse(str);
     }
 
+    public static String uriName() {
+        return "fields";
+    }
+
+    public static URI capabilityUri() {
+        return CAPABILITY;
+    }
+
     /**
      * Selectors for nodes which should be reported. Guaranteed to have at least one element.
      *