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.RetentionPolicy.RUNTIME; 009 010import java.lang.annotation.Documented; 011import java.lang.annotation.ElementType; 012import java.lang.annotation.Retention; 013import java.lang.annotation.Target; 014 015import edu.umd.cs.findbugs.annotations.NonNull; 016 017@Documented 018@Retention(RUNTIME) 019@Target(ElementType.ANNOTATION_TYPE) 020public @interface Let { 021 /** 022 * The variable name. 023 * 024 * @return the variable name 025 */ 026 @NonNull 027 String name(); 028 029 /** 030 * A Metapath to use the query the values assigned to the variable. 031 * 032 * @return the value Metapath 033 */ 034 @NonNull 035 String target(); 036 037 /** 038 * Any remarks about the let statement, encoded as an escaped Markdown string. 039 * 040 * @return an encoded Markdown string or an empty string if no remarks are 041 * provided 042 */ 043 @NonNull 044 String remarks() default ""; 045}