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  }