GFPolicyProvider¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/foundation/policy/gf_policy_provider.gd - 模块:
Standard - 继承:
Resource - API:
public - 类别:协议与扩展点 (
protocol) - 首次版本:
6.0.0
通用策略提供者协议。 描述可对某类 artifact 字典执行校验、治理或打分的策略扩展点。 Provider 只声明输入输出和执行协议,不规定具体业务类型。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 属性 | provider_id |
var provider_id: StringName = &"" |
| 属性 | display_name |
var display_name: String = "" |
| 属性 | supported_artifact_kinds |
var supported_artifact_kinds: PackedStringArray = PackedStringArray() |
| 属性 | priority |
var priority: int = 0 |
| 属性 | input_schema |
var input_schema: Dictionary = {} |
| 属性 | output_schema |
var output_schema: Dictionary = {} |
| 属性 | deterministic |
var deterministic: bool = true |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | configure |
func configure( p_provider_id: StringName, p_supported_artifact_kinds: PackedStringArray = PackedStringArray(), p_metadata: Dictionary = {} ) -> GFPolicyProvider: |
| 方法 | supports_artifact |
func supports_artifact(artifact: Dictionary) -> bool: |
| 方法 | evaluate |
func evaluate(artifact: Dictionary, context: Dictionary = {}) -> Dictionary: |
| 方法 | make_result |
func make_result( ok: bool, status: StringName, artifact: Dictionary, issues: Array = [], data: Dictionary = {} ) -> Dictionary: |
| 方法 | get_debug_snapshot |
func get_debug_snapshot() -> Dictionary: |
| 方法 | _evaluate_policy |
func _evaluate_policy(_artifact: Dictionary, _context: Dictionary) -> Dictionary: |
属性¶
provider_id¶
- API:
public - 首次版本:
6.0.0
Provider 稳定标识。
display_name¶
- API:
public - 首次版本:
6.0.0
显示名称。
supported_artifact_kinds¶
- API:
public - 首次版本:
6.0.0
支持的 artifact kind;为空表示支持所有 kind。
priority¶
- API:
public - 首次版本:
6.0.0
策略优先级,较小值先执行。
input_schema¶
- API:
public - 首次版本:
6.0.0
输入 schema 描述。GF 不解释字段业务含义。
结构:
input_schema: Dictionary caller-defined policy input schema.
output_schema¶
- API:
public - 首次版本:
6.0.0
输出 schema 描述。GF 不解释字段业务含义。
结构:
output_schema: Dictionary caller-defined policy output schema.
deterministic¶
- API:
public - 首次版本:
6.0.0
策略是否声明为确定性。
metadata¶
- API:
public - 首次版本:
6.0.0
调用方附加元数据。
结构:
metadata: Dictionary for caller-defined policy metadata.
方法¶
configure¶
- API:
public - 首次版本:
6.0.0
func configure( p_provider_id: StringName, p_supported_artifact_kinds: PackedStringArray = PackedStringArray(), p_metadata: Dictionary = {} ) -> GFPolicyProvider:
配置 Provider。
参数:
| 名称 | 说明 |
|---|---|
p_provider_id |
Provider 稳定标识。 |
p_supported_artifact_kinds |
支持的 artifact kind;为空表示支持所有 kind。 |
p_metadata |
调用方元数据。 |
返回:当前 Provider。
结构:
p_metadata: Dictionary copied into metadata.
supports_artifact¶
- API:
public - 首次版本:
6.0.0
判断 Provider 是否支持该 artifact。
参数:
| 名称 | 说明 |
|---|---|
artifact |
artifact 字典。 |
返回:支持时返回 true。
结构:
artifact: Dictionary with optional kind or artifact_kind.
evaluate¶
- API:
public - 首次版本:
6.0.0
执行策略。
参数:
| 名称 | 说明 |
|---|---|
artifact |
artifact 字典。 |
context |
调用方上下文。 |
返回:策略结果。
结构:
artifact: Dictionary policy input artifact.context: Dictionary caller-defined policy context.return: Dictionary with ok, status, provider_id, artifact_kind, issues, data, and metadata.
make_result¶
- API:
public - 首次版本:
6.0.0
func make_result( ok: bool, status: StringName, artifact: Dictionary, issues: Array = [], data: Dictionary = {} ) -> Dictionary:
创建策略结果。
参数:
| 名称 | 说明 |
|---|---|
ok |
策略是否通过。 |
status |
策略状态。 |
artifact |
artifact 字典。 |
issues |
issue 字典数组。 |
data |
策略输出数据。 |
返回:策略结果。
结构:
artifact: Dictionary policy input artifact.issues: Array[Dictionary] policy issues.data: Dictionary policy output data.return: Dictionary with ok, status, provider_id, artifact_kind, issues, data, and metadata.
get_debug_snapshot¶
- API:
public - 首次版本:
6.0.0
获取调试快照。
返回:调试信息字典。
结构:
return: Dictionary containing provider_id, supported_artifact_kinds, priority, deterministic, and metadata.
_evaluate_policy¶
- API:
protected - 首次版本:
6.0.0
执行具体策略,供子类重写。
参数:
| 名称 | 说明 |
|---|---|
_artifact |
artifact 字典副本。 |
_context |
调用方上下文字典副本。 |
返回:策略结果;返回空字典表示通过。
结构:
_artifact: Dictionary policy input artifact._context: Dictionary caller-defined policy context.return: Dictionary policy result; empty means passed.