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 gov.nist.secauto.metaschema.core.model.IAttributable; 012 013import java.lang.annotation.Retention; 014import java.lang.annotation.Target; 015 016import edu.umd.cs.findbugs.annotations.NonNull; 017 018@Retention(RUNTIME) 019@Target(ANNOTATION_TYPE) 020public @interface Property { 021 /** 022 * The name of the property. 023 * 024 * @return the name 025 */ 026 @NonNull 027 String name(); 028 029 /** 030 * The namespace of the property's name. 031 * 032 * @return the namespace 033 */ 034 @NonNull 035 String namespace() default IAttributable.DEFAULT_PROPERY_NAMESPACE; 036 037 /** 038 * The values for the property's name and namespace. 039 * 040 * @return the namespace 041 */ 042 @NonNull 043 String[] values(); 044}