001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package dev.metaschema.core.model; 007 008import dev.metaschema.core.metapath.item.node.INodeItem; 009import edu.umd.cs.findbugs.annotations.NonNull; 010 011/** 012 * Represents a model element that can be queried using Metapath expressions. 013 * <p> 014 * This interface provides access to the node item representation required for 015 * Metapath evaluation. 016 */ 017@FunctionalInterface 018public interface IMetapathQueryable { 019 /** 020 * Get the Metapath node item for this Metaschema module construct, which can be 021 * used to query it. 022 * 023 * @return the node item 024 */ 025 @NonNull 026 INodeItem getNodeItem(); 027}