1 /*
2 * SPDX-FileCopyrightText: none
3 * SPDX-License-Identifier: CC0-1.0
4 */
5
6 package dev.metaschema.databind.model.annotations;
7
8 import static java.lang.annotation.ElementType.FIELD;
9 import static java.lang.annotation.ElementType.METHOD;
10 import static java.lang.annotation.RetentionPolicy.RUNTIME;
11
12 import java.lang.annotation.Documented;
13 import java.lang.annotation.Retention;
14 import java.lang.annotation.Target;
15
16 /**
17 * Indicates that the target of this annotation is a Java property that is to be
18 * used as the JSON or YAML property/item name in for a collection of similar
19 * objects/items.
20 */
21 // TODO: remove this and move this to MetaschemaField/MetaschemaAssembly
22 @Documented
23 @Retention(RUNTIME)
24 @Target({ FIELD, METHOD })
25 public @interface JsonKey {
26 // no fields
27 }