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%2FAugmentationNode.java;h=460e6439067bbc5d4a10436fe6560fd45eec14c4;hb=e987f4bb25b987a373ff7500c9dd8107e9555dfa;hp=babba071fb5e10ad9b9d55699918dca5ec86dfc2;hpb=dd2edcd83da73c13333e496c7ae9aa59a5111d15;p=yangtools.git diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/AugmentationNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/AugmentationNode.java index babba071fb..460e643906 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/AugmentationNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/AugmentationNode.java @@ -7,31 +7,35 @@ */ package org.opendaylight.yangtools.yang.data.api.schema; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.AugmentationIdentifier; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; - -import com.google.common.base.Optional; - +import java.util.Collection; +import javax.annotation.Nonnull; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; /** + * Data instance of augment associated with parent node. * - * Node representing Augmentation. + *

+ * Augmentation is addition of subtree defined by other external YANG Model and is schema for subtree is described + * by an instance of {@link AugmentationSchemaNode} associated with parent node of this node. * + *

* Augmentation node MUST NOT be direct child of other augmentation node. - * */ -public interface AugmentationNode extends // - MixinNode, // - DataContainerNode { - - - @Override - public Iterable> getValue(); - - - @Override - public Optional> getChild(PathArgument child); - +public interface AugmentationNode extends MixinNode, DataContainerNode, + DataContainerChild>> { + + /** + * Gets identifier of augmentation node. Returned identifier of augmentation node contains all possible + * direct child QNames. + * + *

+ * This is sufficient to identify instance of augmentation, since RFC6020 states that augment + * that augment statement must not add multiple nodes from same namespace / module to the target node. + * + * @return Identifier which uniquely identifies augmentation in particular subtree. + */ @Override - public AugmentationIdentifier getIdentifier(); + @Nonnull AugmentationIdentifier getIdentifier(); }