首页 > 解决方案 > 实施法律散文模板

问题描述

我看过有关法律散文 [1] 的视频,但在 Corda 中找不到任何支持法律散文文档本身的实际 API,即与法律散文模板和参数相关的组件。

除了支持附件之外,还有什么可以帮助处理法律散文模板,还是我需要从头开始实施?

需要明确的是,@LegalProseReference 似乎与“试图就参数化法律文件达成协议的节点”无关。我需要做的是:

  1. 定义散文模板
  2. 在流程中使用输入状态中的值填充模板变量字段
  3. 附上生成的文档

[1] https://vimeo.com/album/4555732

标签: corda

解决方案


这是表示参数化法律文件的状态示例:

public class LegalProseState implements ContractState {
    private Party partyA;
    private Party partyB;
    private int amount;

    public String toString() {
        return String.format(
                "%s owes %s the sum of %d US dollars.",
                partyA.getName(),
                partyB.getName(),
                amount);
    }

    public LegalProseState(Party partyA, Party partyB, int amount) {
        this.partyA = partyA;
        this.partyB = partyB;
        this.amount = amount;
    }

    public List<AbstractParty> getParticipants() {
        return ImmutableList.of(partyA, partyB);
    }

    public Party getPartyA() {
        return partyA;
    }

    public Party getPartyB() {
        return partyB;
    }

    public int getAmount() {
        return amount;
    }
}

然后,您可以定义一个流程以将这些LegalProseStates 发布到分类帐上。流程将:

  • 使用传递给状态构造函数的参数实例化一个新的LegalProseState,参数化的
  • 将新状态作为输出添加到新交易
  • 让交易双方签字
  • 让交易双方存储

然后,节点都将具有参数化法律散文文档的签名副本。


推荐阅读