1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package gov.nist.secauto.metaschema.schemagen.json.impl;
7   
8   import edu.umd.cs.findbugs.annotations.NonNull;
9   
10  /**
11   * A JSON schema for a given Metaschema-based definition instance, that has a
12   * distinct property name, which is part of a larger JSON schema.
13   */
14  public interface IJsonSchemaPropertyNamed extends IJsonSchemaProperty {
15    /**
16     * Get the name of the JSON property.
17     *
18     * @return the JSON property name
19     */
20    @NonNull
21    String getName();
22  
23    /**
24     * Determine if the property is required or not.
25     *
26     * @return {@code true} if the property is required or {@code false} otherwise
27     */
28    boolean isRequired();
29  }