BUG-9265: Switch empty type mapping from Void to Empty
[yangtools.git] / yang / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / schema / ValueNode.java
1 /*
2  * Copyright (c) 2016 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 javax.annotation.Nonnull;
11 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
12
13 /**
14  * Interface holding the common trait of {@link LeafSetEntryNode} and {@link LeafNode}, which both hold a value.
15  *
16  * @author Robert Varga
17  *
18  * @param <K> Local identifier of node
19  * @param <V> Value of node
20  */
21 public interface ValueNode<K extends PathArgument, V> extends NormalizedNode<K, V> {
22     /**
23      * Returns value of held by this node.
24      *
25      * <h3>Implementation notes</h3> Invocation of {@link #getValue()} must
26      * provides same value as value in {@link #getIdentifier()}.
27      * <code>true == this.getIdentifier().getValue().equals(this.getValue())</code>
28      *
29      * @return Returned value of this node. Value SHOULD meet criteria
30      *         defined by schema.
31      *
32      */
33     @Override
34     @Nonnull V getValue();
35 }