【问题标题】:Itext7 moving public method to protectedItext7 将公共方法移至受保护
【发布时间】:2020-05-13 13:54:59
【问题描述】:

我正在从 itext v5 迁移到 v7,发现 PdfSignatureAppearance 类已将其方法 setSignDate()public 更改为 protected。我找不到有必要的原因? (我知道受保护的方法只能在继承类或同一个包中使用)。

  1. 我错过了一些好的java设计模式吗?

  2. 我应该让IpdfSignatureAppearance继承PdfSignatureAppearance并调用实际函数

v5 https://api.itextpdf.com/iText5/5.5.13/

v7 https://api.itextpdf.com/iText7/java/7.0.4/

【问题讨论】:

  • 小伙伴们在投反对票前请说明原因,以便我改进
  • 我没有投反对票,但我认为投反对票的人将您的问题视为讨论 iText API 设计的邀请(此处离题),而不是“如何在使用 iText 签名时设置签名时间7个?” (关于这里的主题),确实你的问题看起来更像前者而不是后者。
  • 如果你要搬家,我建议你改用 iText 7.1.x 而不是 7.0.x

标签: java oop private itext7 protected


【解决方案1】:

iText 5 到 iText 7 已经进行了重大改革,即使 iText 7 中的许多类仍然具有 iText 5 中已知的名称,但功能可能已经发生了很大变化或在类之间移动。

例如在手头的情况下,该方法在 2015 年 10 月 29 日 09:05:58 在提交 ba907ff8e40de9457ac08a2138a9a9732b6c7d68 中变为 protected 并带有注释

重构签名模块。

将与实际签名相关的代码移至单独的类 (PdfSigner)。删除了未使用的方法。

确实,如果您需要在 iText 7 中设置签名时间,您现在可以在关联的 PdfSigner 实例中使用其公共 setSignDate 方法进行设置;该方法依次调用 PdfSignatureAppearance.setSignDate 等。

【讨论】:

    猜你喜欢
    • 2012-02-13
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2018-03-28
    • 2016-03-19
    • 2011-09-02
    相关资源
    最近更新 更多