package tech.easyflow.autoconfig.license;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * EasyFlow license 配置属性。
 */
@Configuration
@ConfigurationProperties(prefix = "easyflow.license")
public class EasyflowLicenseProperties {

    /**
     * License 资源位置，支持 classpath: 与 file: 形式。
     */
    private String location;

    /**
     * 机器 machineId 文件位置，支持 classpath: 与 file: 形式。
     */
    private String machineIdFile;

    /**
     * 设备 productUuid 文件位置，支持 classpath: 与 file: 形式。
     */
    private String productUuidFile;

    /**
     * MAC 地址文件位置，支持 classpath: 与 file: 形式。
     */
    private String macAddressFile;

    /**
     * 获取 license 资源位置。
     *
     * @return license 资源位置
     */
    public String getLocation() {
        return location;
    }

    /**
     * 设置 license 资源位置。
     *
     * @param location license 资源位置
     */
    public void setLocation(String location) {
        this.location = location;
    }

    /**
     * 获取 machineId 文件位置。
     *
     * @return machineId 文件位置
     */
    public String getMachineIdFile() {
        return machineIdFile;
    }

    /**
     * 设置 machineId 文件位置。
     *
     * @param machineIdFile machineId 文件位置
     */
    public void setMachineIdFile(String machineIdFile) {
        this.machineIdFile = machineIdFile;
    }

    /**
     * 获取 productUuid 文件位置。
     *
     * @return productUuid 文件位置
     */
    public String getProductUuidFile() {
        return productUuidFile;
    }

    /**
     * 设置 productUuid 文件位置。
     *
     * @param productUuidFile productUuid 文件位置
     */
    public void setProductUuidFile(String productUuidFile) {
        this.productUuidFile = productUuidFile;
    }

    /**
     * 获取 MAC 地址文件位置。
     *
     * @return MAC 地址文件位置
     */
    public String getMacAddressFile() {
        return macAddressFile;
    }

    /**
     * 设置 MAC 地址文件位置。
     *
     * @param macAddressFile MAC 地址文件位置
     */
    public void setMacAddressFile(String macAddressFile) {
        this.macAddressFile = macAddressFile;
    }
}
