Seal {LeafSet,Map}Node
[yangtools.git] / data / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / schema / LeafSetNode.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.yangtools.yang.data.api.schema;
9
10 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
11 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
12
13 /**
14  * Node representing set of simple leaf nodes. Node containing instances of {@link LeafSetEntryNode}.
15  *
16  * <p>
17  * Schema and semantics of this node are described by instance of
18  * {@link org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode}.
19  *
20  * @param <T> Type of leaf node values.
21  */
22 public sealed interface LeafSetNode<T>
23         extends DistinctNodeContainer<NodeWithValue<?>, LeafSetEntryNode<T>>, DataContainerChild, MixinNode
24         permits SystemLeafSetNode, UserLeafSetNode {
25     @Override
26     @SuppressWarnings("rawtypes")
27     Class<? extends LeafSetNode> contract();
28
29     @Override
30     NodeIdentifier getIdentifier();
31 }