package com.example.exiftool;

/**
 * 命令行演示:调用 exiftool 向图片的 XMP-dc:Subject 追加一个标签。
 *
 * <p>用法:
 * <pre>
 *   mvn -q compile exec:java -Dexec.args="333.jpg contains-synthetic-performer"
 * </pre>
 * 不带参数时默认使用 {@code 333.jpg} 与 {@code contains-synthetic-performer}。
 */
public final class Demo {

    private Demo() {
    }

    public static void main(String[] args) {
        String file = args.length > 0 ? args[0] : "11111.jpg";
        String value = args.length > 1 ? args[1] : "contains-synthetic-performer";

        ExifTool exiftool = new ExifTool();

        System.out.println("平台: " + ExifTool.platform());
        System.out.println("exiftool 版本:");
        ExifToolResult version = exiftool.execute("-ver");
        System.out.println("  " + version.stdout().trim());

        System.out.printf("向 %s 的 XMP-dc:Subject 追加 \"%s\" ...%n", file, value);
        ExifToolResult result = exiftool.addSubject(file, value);

        if (result.isSuccess()) {
            System.out.println("成功: " + result.stdout().trim());
        } else {
            System.out.println("失败(退出码 " + result.exitCode() + "): " + result.stderr().trim());
        }
    }
}
