开发报告
本主题介绍如何扩展可改写的 API,以便为不可修订和可修订的监管提交生成人类可读的监管提交报告。
解决方案
• 创建一个自定义监管提交处理器类来改写 generatePrimaryContent 方法。
• 实现自定义人类可读报告的生成。
• 创建一个 services.xconf 条目来注册自定义类。
解决方案元素
下一张表格介绍解决方案元素:
元素
|
类型
|
说明
|
RegulatorySubmission generatePrimaryContent(RegulatorySubmission regulatorySubmission)
|
API
|
用于生成监管提交的主要内容。
|
RegulatorySubmission generatePrimaryContent(RegulatorySubmission regulatorySubmission, boolean draft)
|
API
|
用于生成监管提交的主要内容示例。
|
默认行为
默认行为是为监管提交的主要内容创建 PDF 报告。如果将 Draft 参数指定为 TRUE,则创建的报告的每页上都会带有 DRAFT 水印。
监管提交的主要内容属性专用于人类可读报告。此默认行为会创建 PDF 报告并将该报告作为监管提交的主要内容进行关联。“报告屏幕布局”屏幕类型用于确定人类可读报告中可用属性的格式。如果“报告屏幕布局”不可用,则“主要属性”和“更多属性”布局中的值用于人类可读报告。此报告还包括与监管提交关联的已定义“表数据”、“主题”和“驱动因素”。
默认实施仅用于演示和教学目的。但是,默认人类可读报告可能适用于某些类型的监管提交。或者,实施者可以创建与监管部门所提供的文档相匹配的提交特定人类可读报告。
创建自定义类
要自定义主要内容的生成方法,请首先创建一个 Java 类 (您的处理器) 来扩展 SimpleRegulatorySubmissionProcessor 或相应的可修订子类型填充器,然后改写 generatePrimaryContent 方法。可修订子类型处理器可以是 AERSubmissionProcessor、ERSubmissionProcessor、RPSSubmissionProcessor 或 UDISubmissionProcessor。要自定义与监管提交关联的主要内容的 PDF 报告,请改写自定义提交处理器类中的 generatePrimaryContent() 方法。
以下示例显示一个新的自定义类以及改写的 generatePrimaryContent 方法:
public RegulatorySubmission generatePrimaryContent(RegulatorySubmission regulatorySubmission, boolean draft) 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;
}
}