Redirect Builders through ImmutableNodes' builder factory
[yangtools.git] / data / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / schema / AnyxmlNode.java
1 /*
2  * Copyright (c) 2019 PANTHEON.tech, s.r.o. 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 com.google.common.annotations.Beta;
11 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
12 import org.opendaylight.yangtools.yang.data.api.schema.builder.NormalizedNodeBuilder;
13
14 /**
15  * A NormalizedNode holding the contents of an {@code anyxml} node in some object model. This interface is a common
16  * capture for all object model specializations.
17  *
18  * @param <V> Value type, uniquely identifying the object model used for values
19  */
20 @Beta
21 public non-sealed interface AnyxmlNode<V> extends ForeignDataNode<V> {
22     @Override
23     @SuppressWarnings("rawtypes")
24     default Class<AnyxmlNode> contract() {
25         return AnyxmlNode.class;
26     }
27
28     /**
29      * A builder of {@link AnyxmlNode}s.
30      */
31     interface Builder<V, N extends AnyxmlNode<V>> extends NormalizedNodeBuilder<NodeIdentifier, V, N> {
32         // Just a specialization
33     }
34 }