70 lines
1.8 KiB
Java
70 lines
1.8 KiB
Java
package com.easyagents.skill.codec;
|
|
|
|
import com.easyagents.skill.model.SkillPackageLimits;
|
|
|
|
/**
|
|
* Skill 包读取选项。
|
|
*/
|
|
public final class SkillPackageReadOptions {
|
|
|
|
private final SkillPackageLimits limits;
|
|
private final SkillPackageReadMode mode;
|
|
|
|
/**
|
|
* 使用指定安全限额创建读取选项。
|
|
*
|
|
* @param limits 安全限额
|
|
*/
|
|
public SkillPackageReadOptions(SkillPackageLimits limits) {
|
|
this(limits, SkillPackageReadMode.COMMIT_ON_VALID);
|
|
}
|
|
|
|
/**
|
|
* 使用指定安全限额和内容处理模式创建读取选项。
|
|
*
|
|
* @param limits 安全限额
|
|
* @param mode 内容处理模式
|
|
*/
|
|
public SkillPackageReadOptions(SkillPackageLimits limits, SkillPackageReadMode mode) {
|
|
this.limits = limits == null ? SkillPackageLimits.defaults() : limits;
|
|
this.mode = mode == null ? SkillPackageReadMode.COMMIT_ON_VALID : mode;
|
|
}
|
|
|
|
/**
|
|
* 创建默认读取选项。
|
|
*
|
|
* @return 默认读取选项
|
|
*/
|
|
public static SkillPackageReadOptions defaults() {
|
|
return new SkillPackageReadOptions(SkillPackageLimits.defaults());
|
|
}
|
|
|
|
/**
|
|
* 创建只返回校验报告且不提交内容的读取选项。
|
|
* 二进制资源的 contentRef 仅表示内容哈希身份,不承诺可通过内容存储打开。
|
|
*
|
|
* @return 只读预检选项
|
|
*/
|
|
public static SkillPackageReadOptions reportOnly() {
|
|
return new SkillPackageReadOptions(SkillPackageLimits.defaults(), SkillPackageReadMode.REPORT_ONLY);
|
|
}
|
|
|
|
/**
|
|
* 获取安全限额。
|
|
*
|
|
* @return 安全限额
|
|
*/
|
|
public SkillPackageLimits getLimits() {
|
|
return limits;
|
|
}
|
|
|
|
/**
|
|
* 获取内容处理模式。
|
|
*
|
|
* @return 内容处理模式
|
|
*/
|
|
public SkillPackageReadMode getMode() {
|
|
return mode;
|
|
}
|
|
}
|