X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fapi%2Fschema%2FNormalizedNode.java;h=da1ed92067989dd2da81d9bd60e2952c0c175cd4;hb=1e8209bb1e52b827e0e1e783a9c11cb6b8241d12;hp=2fec77fc7f6d6ef3c59e5e70bad139fd2c5b1af2;hpb=cae36920d3193b708af3830db0665a6222220860;p=yangtools.git diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNode.java index 2fec77fc7f..da1ed92067 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNode.java @@ -1,46 +1,60 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ package org.opendaylight.yangtools.yang.data.api.schema; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.Identifiable; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.Node; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; /** - * * Node which is normalized according to the YANG schema - * is identifiable by {@link InstanceIdentifier}. + * is identifiable by a {@link org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier}. + * + *
+ * See subinterfaces of this interface for concretization of node.
+ */
+/*
+ * FIXME: 8.0.0: NormalizedNode represents the perfectly-compliant view of the data, as evaluated by an implementation,
+ * which is currently singular, with respect of its interpretation of a SchemaContext. This includes
+ * leaf values, which are required to hold normalized representation for a particular implementation,
+ * which may be affected by its understanding of any YANG extensions present -- such as optional type
+ * handling hints and bindings.
*
+ * Implementations (i.e. the reference implementation and parsers) will need to start using
+ * yang.common.Uint8 and friends and, if possible, express data validation in terms
+ * of yang.common.CanonicalValue and yang.common.CanonicalValueValidator.
*
- * @author Tony Tkacik
+ * This notably means that to efficiently implement any sort of lenient parsing, we need a separate
+ * concept which contains an unverified, potentially non-conformant data tree, which the consumer needs
+ * to check/fixup if it wishes to use it as a NormalizedNode. Such a concept should be called
+ * "UnverifiedData".
*
- * @param