001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package gov.nist.secauto.metaschema.databind.model.annotations;
007
008import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
009import static java.lang.annotation.RetentionPolicy.RUNTIME;
010
011import java.lang.annotation.Retention;
012import java.lang.annotation.Target;
013
014import edu.umd.cs.findbugs.annotations.NonNull;
015
016@Retention(RUNTIME)
017@Target(ANNOTATION_TYPE)
018public @interface Property {
019  /**
020   * The name of the property.
021   *
022   * @return the name
023   */
024  @NonNull
025  String name();
026
027  /**
028   * The namespace of the property's name.
029   *
030   * @return the namespace
031   */
032  @NonNull
033  String namespace();
034
035  /**
036   * The values for the property's name and namespace.
037   *
038   * @return the namespace
039   */
040  @NonNull
041  String[] values();
042}