- 完成REQ-010-17(性能优化和限流处理)的所有6个阶段 - 创建ADR文档:0026-performance-optimization.md - 创建Prompt文档:027-performance-optimization.md - 创建会话记录:20260119-performance-optimization.md - 创建变更记录:20260119-performance-optimization.md - 创建复盘报告:20260119-performance-optimization-retro.md - 更新index.md和CHANGELOG.md - 完成REQ-010-2(基础实体类和Mapper创建)的前3个阶段 - 更新ADR文档:0011-entity-mapper-create.md - 创建Prompt文档:002-entity-mapper-create.md - 更新index.md 所有文档均按照SSOT方法论创建,包括需求定义、架构决策、提示词资产化、执行会话、变更记录和闭环复盘。
7.9 KiB
7.9 KiB
com.sforce.soap.metadata 模块说明
概述
com.sforce.soap.metadata 模块是 Salesforce Metadata API 的 Java 客户端实现,包含了 Salesforce 元数据类型的完整定义,用于创建、读取、更新和删除 Salesforce 组织中的元数据。
主要功能
1. 元数据类型定义
模块包含了数百种元数据类型,涵盖了 Salesforce 的各个方面:
核心组件类型
- ApexClass: Apex 类定义
- ApexTrigger: Apex 触发器定义
- ApexPage: Visualforce 页面定义
- ApexComponent: Visualforce 组件定义
- CustomObject: 自定义对象定义
- CustomField: 自定义字段定义
- CustomTab: 自定义标签页定义
配置类型
- AppSettings: 应用程序设置
- ApprovalProcess: 审批流程定义
- AssignmentRules: 分配规则定义
- Workflow: 工作流规则定义
- ValidationRule: 验证规则定义
- SharingRule: 共享规则定义
分析类型
- AnalyticsDashboard: 分析仪表板
- AnalyticsDataset: 分析数据集
- AnalyticsWorkspace: 分析工作空间
- Report: 报告定义
- Dashboard: 仪表板定义
AI 和自动化类型
- AIApplication: AI 应用程序
- Bot: 机器人定义
- Flow: Flow 定义
- ProcessBuilder: 流程构建器定义
UI 和用户体验类型
- CustomTab: 自定义标签页
- CompactLayout: 紧凑布局
- PageLayout: 页面布局
- ListView: 列表视图
- QuickAction: 快速操作
2. 部署操作
- DeployOptions: 部署选项配置
- DeployResult: 部署结果
- DeployMessage: 部署消息
- DeployDetails: 部署详细信息
- DeployStatus: 部署状态
3. 异步操作
- AsyncResult: 异步操作结果
- AsyncRequestState: 异步请求状态
4. 删除操作
- DeleteResult: 删除操作结果
核心类
CustomObject
作用: 定义 Salesforce 自定义对象的元数据。
主要属性:
fullName: 对象的完整名称label: 对象的显示标签pluralLabel: 对象的复数标签description: 对象的描述fields: 对象的字段列表sharingModel: 共享模型
使用示例:
CustomObject customObject = new CustomObject();
customObject.setFullName("MyCustomObject__c");
customObject.setLabel("My Custom Object");
customObject.setPluralLabel("My Custom Objects");
customObject.setDeploymentStatus("Deployed");
customObject.setSharingModel("ReadWrite");
// 添加字段
CustomField nameField = new CustomField();
nameField.setFullName("MyCustomObject__c.Name__c");
nameField.setType("Text");
nameField.setLabel("Name");
customObject.setFields(new CustomField[]{nameField});
CustomField
作用: 定义自定义对象的字段。
主要属性:
fullName: 字段的完整名称type: 字段类型(Text、Number、Date 等)label: 字段的显示标签required: 是否必填defaultValue: 默认值
使用示例:
CustomField field = new CustomField();
field.setFullName("MyCustomObject__c.Email__c");
field.setType("Email");
field.setLabel("Email Address");
field.setRequired(true);
ApexClass
作用: 定义 Apex 类的元数据。
主要属性:
fullName: 类的完整名称content: 类的源代码apiVersion: API 版本status: 类的状态
使用示例:
ApexClass apexClass = new ApexClass();
apexClass.setFullName("MyClass");
apexClass.setContent("public class MyClass { }");
apexClass.setApiVersion("58.0");
DeployOptions
作用: 配置元数据部署的选项。
主要属性:
allowMissingFiles: 是否允许缺少文件autoUpdatePackage: 是否自动更新包checkOnly: 是否只检查不部署ignoreWarnings: 是否忽略警告performRetrieve: 是否执行检索purgeOnDelete: 删除时是否清除rollbackOnError: 出错时是否回滚testLevel: 测试级别
使用示例:
DeployOptions options = new DeployOptions();
options.setCheckOnly(true);
options.setTestLevel("RunSpecifiedTests");
options.setRunTests(new String[]{"MyTestClass"});
DeployResult
作用: 表示元数据部署的结果。
主要属性:
id: 部署 IDstatus: 部署状态success: 是否成功createdDate: 创建日期startDate: 开始日期completedDate: 完成日期numberComponentErrors: 组件错误数numberComponentsDeployed: 部署的组件数numberComponentsTotal: 总组件数numberTestErrors: 测试错误数numberTestsCompleted: 完成的测试数numberTestsTotal: 总测试数details: 部署详细信息messages: 部署消息
使用示例:
DeployResult result = connection.deploy(zipFile, options);
if (result.isSuccess()) {
System.out.println("部署成功");
} else {
for (DeployMessage message : result.getMessages()) {
System.out.println("错误: " + message.getProblem());
}
}
使用场景
1. 元数据部署
- 部署 Apex 类、触发器、页面
- 创建自定义对象和字段
- 更新现有元数据
- 验证部署前的更改
2. 元数据检索
- 检索组织中的元数据
- 导出元数据到本地
- 备份元数据配置
- 分析元数据结构
3. CI/CD 集成
- 自动化部署流程
- 持续集成测试
- 环境间元数据同步
- 版本控制集成
4. 元数据管理
- 批量更新元数据
- 删除不需要的组件
- 重命名和重构
- 元数据依赖管理
5. 分析和报告
- 创建和更新报告
- 管理仪表板
- 配置数据集
- 设置分析工作空间
注意事项
- API 限制: 有 API 调用次数和部署大小的限制
- 依赖关系: 需要正确处理组件间的依赖关系
- 部署顺序: 某些组件需要按特定顺序部署
- 测试要求: 部署时可能需要运行测试
- 版本兼容性: 不同版本的 Salesforce 可能有不同的元数据结构
- 权限要求: 需要适当的 API 权限才能使用这些功能
- 异步操作: 部署操作是异步的,需要轮询状态
- 错误处理: 需要正确处理部署错误和警告
相关文档
文件分类
Apex 相关
- ApexClass.java - Apex 类
- ApexTrigger.java - Apex 触发器
- ApexPage.java - Visualforce 页面
- ApexComponent.java - Visualforce 组件
- ApexTestSuite.java - Apex 测试套件
自定义对象相关
- CustomObject.java - 自定义对象
- CustomField.java - 自定义字段
- CustomIndex.java - 自定义索引
- CustomLabel.java - 自定义标签
- CustomTab.java - 自定义标签页
部署相关
- DeployOptions.java - 部署选项
- DeployResult.java - 部署结果
- DeployMessage.java - 部署消息
- DeployDetails.java - 部署详细信息
- DeployStatus.java - 部署状态
删除相关
- DeleteResult.java - 删除结果
异步操作相关
- AsyncResult.java - 异步结果
- AsyncRequestState.java - 异步请求状态
AI 和自动化相关
- AIApplication.java - AI 应用
- Bot.java - 机器人
- Flow.java - Flow
- BotDialog.java - 机器人对话框
- BotMessage.java - 机器人消息
分析相关
- AnalyticsDashboard.java - 分析仪表板
- AnalyticsDataset.java - 分析数据集
- AnalyticsWorkspace.java - 分析工作空间
- Dashboard.java - 仪表板
- Report.java - 报告
UI 相关
- PageLayout.java - 页面布局
- CompactLayout.java - 紧凑布局
- ListView.java - 列表视图
- QuickAction.java - 快速操作
- CustomTab.java - 自定义标签页
配置相关
- AppSettings.java - 应用设置
- ApprovalProcess.java - 审批流程
- AssignmentRules.java - 分配规则
- Workflow.java - 工作流
- ValidationRule.java - 验证规则