GFPolicyRegistry¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/foundation/policy/gf_policy_registry.gd - 模块:
Standard - 继承:
Resource - API:
public - 类别:运行时服务 (
runtime_service) - 首次版本:
6.0.0
通用策略 Provider 注册表。 管理 GFPolicyProvider 集合,并按 artifact kind 对输入 artifact 执行匹配策略。 注册表只负责协议分发和结果汇总,不解释具体业务字段。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 属性 | providers |
var providers: Array[GFPolicyProvider] = [] |
| 方法 | register_provider |
func register_provider(provider: GFPolicyProvider) -> bool: |
| 方法 | unregister_provider |
func unregister_provider(provider_id: StringName) -> bool: |
| 方法 | clear |
func clear() -> void: |
| 方法 | get_provider |
func get_provider(provider_id: StringName) -> GFPolicyProvider: |
| 方法 | get_providers_for_artifact |
func get_providers_for_artifact(artifact: Dictionary) -> Array[GFPolicyProvider]: |
| 方法 | evaluate_artifact |
func evaluate_artifact(artifact: Dictionary, context: Dictionary = {}) -> Dictionary: |
| 方法 | get_debug_snapshot |
func get_debug_snapshot() -> Dictionary: |
属性¶
providers¶
- API:
public - 首次版本:
6.0.0
已注册 Provider 列表。
结构:
providers: Array[GFPolicyProvider] policy providers.
方法¶
register_provider¶
- API:
public - 首次版本:
6.0.0
注册或替换 Provider。
参数:
| 名称 | 说明 |
|---|---|
provider |
策略 Provider。 |
返回:注册成功返回 true。
unregister_provider¶
- API:
public - 首次版本:
6.0.0
注销 Provider。
参数:
| 名称 | 说明 |
|---|---|
provider_id |
Provider 稳定标识。 |
返回:注销成功返回 true。
clear¶
- API:
public - 首次版本:
6.0.0
清空 Provider。
get_provider¶
- API:
public - 首次版本:
6.0.0
获取 Provider。
参数:
| 名称 | 说明 |
|---|---|
provider_id |
Provider 稳定标识。 |
返回:Provider;不存在时返回 null。
get_providers_for_artifact¶
- API:
public - 首次版本:
6.0.0
获取支持 artifact 的 Provider 列表。
参数:
| 名称 | 说明 |
|---|---|
artifact |
artifact 字典。 |
返回:Provider 列表。
结构:
artifact: Dictionary with optional kind or artifact_kind.
evaluate_artifact¶
- API:
public - 首次版本:
6.0.0
对 artifact 执行匹配策略。
参数:
| 名称 | 说明 |
|---|---|
artifact |
artifact 字典。 |
context |
调用方上下文。 |
返回:汇总结果。
结构:
artifact: Dictionary policy input artifact.context: Dictionary caller-defined policy context.return: Dictionary with ok, provider_count, result_count, results, issues, and artifact.
get_debug_snapshot¶
- API:
public - 首次版本:
6.0.0
获取调试快照。
返回:调试信息字典。
结构:
return: Dictionary containing provider_count and provider_ids.