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 element that has a JSON property name. 012 * <p> 013 * This interface provides access to the name used when serializing or 014 * deserializing the element in JSON or YAML format. 015 */ 016@FunctionalInterface 017public interface IJsonNamed { 018 019 /** 020 * Get the name used for the associated property in JSON/YAML 021 * serialization-related operations. 022 * 023 * @return the JSON property name 024 */ 025 @NonNull 026 String getJsonName(); 027}