开发监管提交报告
本主题介绍如何扩展可改写的 API,以便为不可修订和可修订的监管提交生成人类可读的监管提交报告。
解决方案
• 创建一个用于改写 generatePrimaryContent 方法的自定义监管提交处理器类。
• 实现自定义人类可读报告的生成。
• 创建用于注册自定义类的 services.xconf 条目。
解决方案元素
下表介绍解决方案元素:
|
元素
|
类型
|
说明
|
|
RegulatorySubmission generatePrimaryContent(RegulatorySubmission regulatorySubmission)
|
API
|
用于生成监管提交的主要内容。
|
默认行为
默认行为是为监管提交的主要内容创建 PDF 报告。
监管提交的主要内容属性专用于人类可读报告。此默认行为会创建 PDF 报告并将该报告作为监管提交的主要内容进行关联。“主要属性”和“更多属性”布局中的值决定了人类可读报告中提供的监管提交详细信息。此报告还包括与监管提交关联的已定义“表数据”、“主题”和“驱动因素”。
默认实施仅用于演示和教学目的。但是,默认人类可读报告可能适用于某些类型的监管提交。或者,实施者可以创建与监管部门所提供的文档相匹配的提交特定人类可读报告。
创建自定义类
要自定义主要内容的生成,请创建一个用于扩展 SimpleRegulatorySubmissionProcessor 的 Java 类 (您的处理器),或相应的可修订子类型填充器,然后改写 generatePrimaryContent 方法。可修订子类型处理器可以是 AERSubmissionProcessor、ERSubmissionProcessor、RPSSubmissionProcessor 或 UDISubmissionProcessor。要创建与监管提交关联的所有主要内容的 PDF 报告,请调用 GeneratePrimaryContentAsPDF 类的 generatePrimaryContent() 方法,其中将监管提交作为参数。
以下示例显示了一个新的自定义类以及已改写的 generatePrimaryContent 方法:
public RegulatorySubmission generatePrimaryContent(RegulatorySubmission regulatorySubmission) throws Exception {
String fileName = "RegSub_Report.pdf";
// This method will get all the primary contents form the Regulatory Submission and create a formatted output for storing.
InputStream in = generatePDF(regulatorySubmission);
// This method will get the formatted output and check all the validations to store the PDF report as Primary content.
RegulatoryContentHelper.getService().storePrimaryContent(regulatorySubmission, in, fileName);
return regulatorySubmission;
}
}