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%2FNormalizedNodeContainer.java;h=df81ece42032fa7d966ea83def39605822f11a41;hb=96574f7fa327d7b4278e2e0a2bec75e62944b9bf;hp=841f5b5c006470927f2b6a1810f5f5904bfe7869;hpb=3583a98815919107c1c23025957e94b31efcbe30;p=yangtools.git diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodeContainer.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodeContainer.java index 841f5b5c00..df81ece420 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodeContainer.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodeContainer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * 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, @@ -7,30 +7,49 @@ */ package org.opendaylight.yangtools.yang.data.api.schema; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; - -import com.google.common.base.Optional; +import java.util.Collection; +import java.util.Optional; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; /** + * Node which is not leaf, but has child {@link NormalizedNode}s as its valzue. + * + *

+ * NormalizedNodeContainer does not have a value, but it has a child + * nodes. Definition of possible and valid child nodes is introduced + * in subclasses of this interface. * - * @param Node Identifier type - * @param Child Node Identifier type - * @param Child Node type + *

+ * This interface should not be used directly, but rather use of of derived subinterfaces + * such as {@link DataContainerNode}, {@link MapNode}, {@link LeafSetNode}. + * + * @param + * Node Identifier type + * @param + * Child Node Identifier type + * @param + * Child Node type */ -public interface NormalizedNodeContainer> - extends NormalizedNode> { +public interface NormalizedNodeContainer> extends NormalizedNode> { @Override - public I getIdentifier(); + I getIdentifier(); + /** + * Returns immutable iteration of child nodes of this node. + * + */ @Override - public Iterable getValue(); + Collection getValue(); /** - * + * Returns child node identified by provided key. * * @param child - * @return + * Path argument identifying child node + * @return Optional with child node if child exists. + * {@link Optional#empty()} if child does not exists. */ Optional getChild(K child); }