package com.easyagents.document.core.entity;

import java.util.Arrays;

/**
 * 待解析文件。
 *
 * @author Codex
 * @since 2026-04-14
 */
public class ParseFile {

    private String fileName;
    private byte[] content;
    private String contentType;

    /**
     * 创建文件对象。
     *
     * @param fileName 文件名
     * @param content 文件内容
     * @return 文件对象
     */
    public static ParseFile of(String fileName, byte[] content) {
        return of(fileName, content, null);
    }

    /**
     * 创建文件对象。
     *
     * @param fileName 文件名
     * @param content 文件内容
     * @param contentType MIME 类型
     * @return 文件对象
     */
    public static ParseFile of(String fileName, byte[] content, String contentType) {
        ParseFile parseFile = new ParseFile();
        parseFile.setFileName(fileName);
        parseFile.setContent(content);
        parseFile.setContentType(contentType);
        return parseFile;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public byte[] getContent() {
        return content;
    }

    public void setContent(byte[] content) {
        this.content = content;
    }

    public String getContentType() {
        return contentType;
    }

    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    @Override
    public String toString() {
        return "ParseFile{" +
            "fileName='" + fileName + '\'' +
            ", contentLength=" + (content == null ? 0 : content.length) +
            ", contentType='" + contentType + '\'' +
            ", checksum=" + Arrays.hashCode(content) +
            '}';
    }
}
