1   
2   package dev.metaschema.core.metapath.item.node;
3   
4   import dev.metaschema.core.metapath.item.atomic.IAtomicValuedItem;
5   import dev.metaschema.core.metapath.type.IAtomicOrUnionType;
6   import edu.umd.cs.findbugs.annotations.NonNull;
7   
8   /**
9    * Represents a Metapath node item that has an atomic value.
10   */
11  public interface IAtomicValuedNodeItem extends IAtomicValuedItem, INodeItem {
12    /**
13     * Get the item type of the item's value.
14     *
15     * @return the item type
16     */
17    @NonNull
18    IAtomicOrUnionType<?> getValueItemType();
19  
20    @Override
21    default String stringValue() {
22      return toAtomicItem().asString();
23    }
24  }