Itext7 перемещает метод publi c в защищенный - PullRequest
0 голосов
/ 28 января 2020

Я мигрирую из 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/

1 Ответ

3 голосов
/ 28 января 2020

iText 5 по сравнению с iText 7 подвергся серьезной перестройке, и даже если у ряда классов в iText 7 все еще есть имена, известные из iText 5, функциональность может значительно измениться или перемещаться между классами.

Для Например, в данном случае этот метод стал protected 2015-10-29 09:05:58 в коммите ba907ff8e40de9457ac08a2138a9a9732b6c7d68 с комментарием

Модуль рефакторированных подписей.

Код, связанный с фактическим подписанием, перенесен в отдельный класс (PdfSigner). Удалены неиспользуемые методы.

Действительно, если вам нужно установить время подписания в iText 7, вы теперь делаете это в связанном экземпляре PdfSigner, используя его метод publi c setSignDate; этот метод в свою очередь вызывает PdfSignatureAppearance.setSignDate среди прочего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...