1 /*
2 * SPDX-FileCopyrightText: none
3 * SPDX-License-Identifier: CC0-1.0
4 */
5
6 package dev.metaschema.core.model;
7
8 import dev.metaschema.core.metapath.item.node.INodeItem;
9 import edu.umd.cs.findbugs.annotations.NonNull;
10
11 /**
12 * Represents a model element that can be queried using Metapath expressions.
13 * <p>
14 * This interface provides access to the node item representation required for
15 * Metapath evaluation.
16 */
17 @FunctionalInterface
18 public interface IMetapathQueryable {
19 /**
20 * Get the Metapath node item for this Metaschema module construct, which can be
21 * used to query it.
22 *
23 * @return the node item
24 */
25 @NonNull
26 INodeItem getNodeItem();
27 }