/**
* Intermediate representation of a parsed {@code api-path} string as defined in
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-3.5.3.1">RFC section 3.5.3.1</a>. It models the
- * path as a series of {@link Step}s.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-3.5.3.1">RFC section 3.5.3.1</a>. It models the path
+ * as a series of {@link Step}s.
*/
@NonNullByDefault
public final class ApiPath implements Immutable {
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
/**
- * RESTCONF protocol constructs, as specified by <a href="https://datatracker.ietf.org/doc/html/rfc8040">RFC8040</a>.
+ * RESTCONF protocol constructs, as specified by <a href="https://www.rfc-editor.org/rfc/rfc8040">RFC8040</a>.
*/
package org.opendaylight.restconf.api;
/**
* Enumeration of possible {@code content} values as defined by
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.1">RFC8040, section 4.8.1</a>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8.1">RFC8040, section 4.8.1</a>.
*/
public enum ContentParam implements RestconfQueryParam<ContentParam> {
/**
/**
* This class represents a {@code depth} parameter as defined in
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.2">RFC8040 section 4.8.2</a>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8.2">RFC8040 section 4.8.2</a>.
*/
public final class DepthParam implements RestconfQueryParam<DepthParam> {
// API consistency: must not be confused with enum constants
/**
* 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>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8.3">RFC8040 section 4.8.3</a>.
*/
@NonNullByDefault
public final class FieldsParam implements RestconfQueryParam<FieldsParam> {
/**
* 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>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8.4">RFC8040 section 4.8.4</a>.
*/
public final class FilterParam implements RestconfQueryParam<FilterParam> {
/**
* Enumeration of possible {@code insert} values as defined by
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.5">RFC8040, section 4.8.5</a>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8.5">RFC8040, section 4.8.5</a>.
*/
public enum InsertParam implements RestconfQueryParam<InsertParam> {
/**
/**
* This class represents a {@code point} parameter as defined in
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.6">RFC8040 section 4.8.6</a>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8.6">RFC8040 section 4.8.6</a>.
*/
public final class PointParam implements RestconfQueryParam<PointParam> {
// API consistency: must not be confused with enum constants
/**
* Interface implemented by all Java classes which represent a
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8">RESTCONF query parameter</a>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8">RESTCONF query parameter</a>.
*
* <p>
* Implementations of this interface are required to expose a {@code public static @NonNull uriName} constant, which
/**
* This class represents a {@code start-time} parameter as defined in
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.7">RFC8040 section 4.8.7</a>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8.7">RFC8040 section 4.8.7</a>.
*/
public final class StartTimeParam extends AbstractReplayParam<StartTimeParam> {
// API consistency: must not be confused with enum constants
/**
* This class represents a {@code stop-time} parameter as defined in
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.8">RFC8040 section 4.8.8</a>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8.8">RFC8040 section 4.8.8</a>.
*/
public final class StopTimeParam extends AbstractReplayParam<StopTimeParam> {
// API consistency: must not be confused with enum constants
/**
* 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>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8.9">RFC8040, section 4.8.9</a>.
*/
public enum WithDefaultsParam implements RestconfQueryParam<WithDefaultsParam> {
/**
*/
/**
* RESTCONF query parameters, as defined in
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-4.8">RESTCONF query parameter</a>. This package hosts
- * support for {@link RestconfQueryParam} and its specializations.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-4.8">RESTCONF query parameter</a>. This package hosts support
+ * for {@link RestconfQueryParam} and its specializations.
*/
package org.opendaylight.restconf.api.query;
\ No newline at end of file
import org.opendaylight.restconf.api.query.FieldsParam.NodeSelector;
public class FieldsParamTest {
- // https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.3:
+ // https://www.rfc-editor.org/rfc/rfc8040#section-4.8.3:
// ";" is used to select multiple nodes. For example, to retrieve only
// the "genre" and "year" of an album, use "fields=genre;year".
@Test
assertEquals(List.of(), selector.subSelectors());
}
- // https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.3:
+ // https://www.rfc-editor.org/rfc/rfc8040#section-4.8.3:
// "/" is used in a path to retrieve a child node of a node. For
// example, to retrieve only the "label" of an album, use
// "fields=admin/label".
assertEquals(List.of(), selector.subSelectors());
}
- // https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.3:
+ // https://www.rfc-editor.org/rfc/rfc8040#section-4.8.3:
// For example, assume that the target resource is the "album" list. To
// retrieve only the "label" and "catalogue-number" of the "admin"
// container within an album, use
assertEquals(List.of(), subSelector.subSelectors());
}
- // https://datatracker.ietf.org/doc/html/rfc8040#appendix-B.3.3:
+ // https://www.rfc-editor.org/rfc/rfc8040#appendix-B.3.3:
// In this example, the client is retrieving the datastore resource in
// JSON format, but retrieving only the "modules-state/module" list, and
// only the "name" and "revision" nodes from each list entry. Note that
/**
* {@link ErrorTag} mapping to HTTP errors. Aside from the mappings defined by
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-7">RFC8040 section 7</a>, we also define tags which
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-7">RFC8040 section 7</a>, we also define tags which
* map to useful {@link Status} codes.
*/
@Beta
/**
* A {@code String} constant representing {@value #APPLICATION_XRD_XML} media type.
*
- * @see <a href="https://datatracker.ietf.org/doc/html/rfc6415#section-2">RFC6415, section 2</a>
+ * @see <a href="https://www.rfc-editor.org/rfc/rfc6415#section-2">RFC6415, section 2</a>
*/
public static final String APPLICATION_XRD_XML = "application/xrd+xml";
/**
* A {@code MediaType} constant representing {@value #APPLICATION_XRD_XML} media type.
*
- * @see <a href="https://datatracker.ietf.org/doc/html/rfc6415#section-2">RFC6415, section 2</a>
+ * @see <a href="https://www.rfc-editor.org/rfc/rfc6415#section-2">RFC6415, section 2</a>
*/
public static final MediaType APPLICATION_XRD_XML_TYPE = MediaType.valueOf(APPLICATION_XRD_XML);
/**
* A {@code String} constant representing {@value #APPLICATION_YANG_DATA_XML} media type.
*
- * @see <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-11.3.1">RFC8040, section 11.3.1</a>
+ * @see <a href="https://www.rfc-editor.org/rfc/rfc8040#section-11.3.1">RFC8040, section 11.3.1</a>
*/
public static final String APPLICATION_YANG_DATA_XML = "application/yang-data+xml";
/**
* A {@code MediaType} constant representing {@value #APPLICATION_YANG_DATA_XML} media type.
*
- * @see <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-11.3.1">RFC8040, section 11.3.1</a>
+ * @see <a href="https://www.rfc-editor.org/rfc/rfc8040#section-11.3.1">RFC8040, section 11.3.1</a>
*/
public static final MediaType APPLICATION_YANG_DATA_XML_TYPE = MediaType.valueOf(APPLICATION_YANG_DATA_XML);
/**
* A {@code String} constant representing {@value #APPLICATION_YANG_DATA_JSON} media type.
*
- * @see <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-11.3.2">RFC8040, section 11.3.2</a>
+ * @see <a href="https://www.rfc-editor.org/rfc/rfc8040#section-11.3.2">RFC8040, section 11.3.2</a>
*/
public static final String APPLICATION_YANG_DATA_JSON = "application/yang-data+json";
/**
* A {@code MediaType} constant representing {@value #APPLICATION_YANG_DATA_JSON} media type.
*
- * @see <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-11.3.2">RFC8040, section 11.3.2</a>
+ * @see <a href="https://www.rfc-editor.org/rfc/rfc8040#section-11.3.2">RFC8040, section 11.3.2</a>
*/
public static final MediaType APPLICATION_YANG_DATA_JSON_TYPE = MediaType.valueOf(APPLICATION_YANG_DATA_JSON);
/**
* A {@code String} constant representing {@value #APPLICATION_YANG_PATCH_XML} media type.
*
- * @see <a href="https://datatracker.ietf.org/doc/html/rfc8072#section-4.2.1">RFC8072, section 4.2.1</a>
+ * @see <a href="https://www.rfc-editor.org/rfc/rfc8072#section-4.2.1">RFC8072, section 4.2.1</a>
*/
public static final String APPLICATION_YANG_PATCH_XML = "application/yang-patch+xml";
/**
* A {@code MediaType} constant representing {@value #APPLICATION_YANG_PATCH_XML} media type.
*
- * @see <a href="https://datatracker.ietf.org/doc/html/rfc8072#section-4.2.1">RFC8072, section 4.2.1</a>
+ * @see <a href="https://www.rfc-editor.org/rfc/rfc8072#section-4.2.1">RFC8072, section 4.2.1</a>
*/
public static final MediaType APPLICATION_YANG_PATCH_XML_TYPE = MediaType.valueOf(APPLICATION_YANG_PATCH_XML);
/**
* A {@code MediaType} constant representing {@value #APPLICATION_YANG_PATCH_JSON} media type.
*
- * @see <a href="https://datatracker.ietf.org/doc/html/rfc8072#section-4.2.1">RFC8072, section 4.2.2</a>
+ * @see <a href="https://www.rfc-editor.org/rfc/rfc8072#section-4.2.1">RFC8072, section 4.2.2</a>
*/
public static final String APPLICATION_YANG_PATCH_JSON = "application/yang-patch+json";
/**
* A {@code MediaType} constant representing {@value #APPLICATION_YANG_PATCH_JSON} media type.
*
- * @see <a href="https://datatracker.ietf.org/doc/html/rfc8072#section-4.2.1">RFC8072, section 4.2.2</a>
+ * @see <a href="https://www.rfc-editor.org/rfc/rfc8072#section-4.2.1">RFC8072, section 4.2.2</a>
*/
public static final MediaType APPLICATION_YANG_PATCH_JSON_TYPE = MediaType.valueOf(APPLICATION_YANG_PATCH_JSON);
return empty();
}
- // https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.5:
+ // https://www.rfc-editor.org/rfc/rfc8040#section-4.8.5:
// If the values "before" or "after" are used, then a "point" query
// parameter for the "insert" query parameter MUST also be present, or a
// "400 Bad Request" status-line is returned.
"Insert parameter " + insert.paramValue() + " cannot be used without a Point parameter.");
}
} else {
- // https://datatracker.ietf.org/doc/html/rfc8040#section-4.8.6:
+ // https://www.rfc-editor.org/rfc/rfc8040#section-4.8.6:
// [when "point" parameter is present and]
// If the "insert" query parameter is not present or has a value other
// than "before" or "after", then a "400 Bad Request" status-line is
* @return {@link NormalizedNodePayload}
*/
// FIXME: this is a REST violation: GET does not transfer state! This should work in terms of
- // https://datatracker.ietf.org/doc/html/rfc8639#section-2.4, i.e. when we have that, aggressively deprecate
+ // https://www.rfc-editor.org/rfc/rfc8639#section-2.4, i.e. when we have that, aggressively deprecate
// and remove this special case. Besides it routes to a very bad thing in RestconfDataServiceImpl
@GET
@Path("data/ietf-restconf-monitoring:restconf-state/streams/stream/{identifier:.+}")
/**
* RESTCONF {@code /operations} content for a {@code GET} operation as per
- * <a href="https://datatracker.ietf.org/doc/html/rfc8040#section-3.3.2">RFC8040</a>.
+ * <a href="https://www.rfc-editor.org/rfc/rfc8040#section-3.3.2">RFC8040</a>.
*/
enum OperationsContent {
JSON("{ \"ietf-restconf:operations\" : { } }") {
//
// Data nodes set to the YANG default by the client are reported.
//
- // and RFC8040 (https://datatracker.ietf.org/doc/html/rfc8040#page-60) says:
+ // and RFC8040 (https://www.rfc-editor.org/rfc/rfc8040#page-60) says:
//
// If the "with-defaults" parameter is set to "explicit", then the
// server MUST adhere to the default-reporting behavior defined in