2 * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved.
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
8 package org.opendaylight.yangtools.yang.data.api.xpath;
10 import com.google.common.annotations.Beta;
11 import org.eclipse.jdt.annotation.NonNull;
14 * The notion of a W3C documented bound to a specific object model. This binding is expressed in terms of the document
15 * exposing a root node from the object model.
18 * This interface is not meant to be used directly. Refer to its specializations like {@link NormalizedNodeDocument}
19 * and {@link DataTreeCandidateDocument}.
21 * @param <T> Object model node type
22 * @author Robert Varga
25 public interface XPathDocument<T> {
27 * Return the root node of this document.
29 * @return This document's root node.
31 @NonNull T getRootNode();