package com.qqchen.deploy.backend.workflow.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Schema属性数据源的参数配置注解，用于定义API请求参数
 * 
 * <p>主要用途：
 * <ul>
 *   <li>配置API请求参数的名称和值</li>
 *   <li>支持动态参数值，使用${fieldName}引用其他字段的值</li>
 * </ul>
 * 
 * <p>使用示例：
 * <pre>
 * {@code
 * @SchemaProperty(
 *     dataSource = @SchemaPropertyDataSource(
 *         type = "api",
 *         url = "/api/v1/jenkins/jobs",
 *         params = {
 *             @SchemaPropertyDataSourceParam(name = "projectId", value = "${projectId}"),
 *             @SchemaPropertyDataSourceParam(name = "view", value = "${view}")
 *         }
 *     )
 * )
 * private String job;
 * }
 * </pre>
 */
@Target({})
@Retention(RetentionPolicy.RUNTIME)
public @interface SchemaPropertyDataSourceParam {
    /**
     * 参数名称
     */
    String name();

    /**
     * 参数值，支持使用${fieldName}引用其他字段的值
     */
    String value();
} 