package tech.easyflow.skill.imports;

/**
 * Skill 导入预览中的逻辑文件摘要，不包含文件正文、存储引用或物理路径。
 */
public class SkillImportPreviewFile {

    private String path;
    private String kind;
    private String mediaType;
    private boolean text;
    private long size;

    /**
     * 获取 Skill 根目录内的规范相对路径。
     *
     * @return 逻辑相对路径
     */
    public String getPath() {
        return path;
    }

    /**
     * 设置 Skill 根目录内的规范相对路径。
     *
     * @param path 逻辑相对路径
     */
    public void setPath(String path) {
        this.path = path;
    }

    /**
     * 获取文件语义类型。
     *
     * @return 文件语义类型
     */
    public String getKind() {
        return kind;
    }

    /**
     * 设置文件语义类型。
     *
     * @param kind 文件语义类型
     */
    public void setKind(String kind) {
        this.kind = kind;
    }

    /**
     * 获取媒体类型。
     *
     * @return 媒体类型
     */
    public String getMediaType() {
        return mediaType;
    }

    /**
     * 设置媒体类型。
     *
     * @param mediaType 媒体类型
     */
    public void setMediaType(String mediaType) {
        this.mediaType = mediaType;
    }

    /**
     * 判断文件是否为严格 UTF-8 文本。
     *
     * @return 文本文件时为 true
     */
    public boolean isText() {
        return text;
    }

    /**
     * 设置文本标记。
     *
     * @param text 是否为严格 UTF-8 文本
     */
    public void setText(boolean text) {
        this.text = text;
    }

    /**
     * 获取文件字节数。
     *
     * @return 文件字节数
     */
    public long getSize() {
        return size;
    }

    /**
     * 设置文件字节数。
     *
     * @param size 文件字节数
     */
    public void setSize(long size) {
        this.size = size;
    }
}
