001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package dev.metaschema.core.model;
007
008import edu.umd.cs.findbugs.annotations.NonNull;
009
010/**
011 * Represents a model instance that has a JSON property name.
012 * <p>
013 * This interface provides access to the name used when the instance appears in
014 * JSON or YAML serialization.
015 */
016@FunctionalInterface
017public interface IJsonInstance {
018  /**
019   * Get the name used for the instance in JSON/YAML serialization.
020   *
021   * @return the JSON property name
022   */
023  @NonNull
024  String getJsonName();
025}