1
2 package dev.metaschema.core.metapath.item.node;
3
4 import dev.metaschema.core.metapath.item.IItem;
5 import edu.umd.cs.findbugs.annotations.Nullable;
6
7 /**
8 * This feature interface represents an item that has no associated value data.
9 * <p>
10 * This will occur when an {@link IItem} represents a Metaschema definition or
11 * instance that is not associated with data. This is typical when constructing
12 * items for querying a Metaschema directly, instead of content which will
13 * always have data.
14 */
15 public interface IFeatureNoDataValuedItem extends IItem {
16 @Override
17 @Nullable
18 default Object getValue() {
19 // no value
20 return null;
21 }
22
23 @Override
24 default boolean hasValue() {
25 // no value
26 return false;
27 }
28 }