Class DocumentRevisionsValidator
java.lang.Object
com.itextpdf.signatures.validation.v1.DocumentRevisionsValidator
Validator, which is responsible for document revisions validation according to doc-MDP rules.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final String
(package private) static final String
(package private) static final String
(package private) static final String
(package private) static final String
private IMetaInfo
(package private) static final String
(package private) static final String
(package private) static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
checkAllowedReferences
(List<DocumentRevisionsValidator.ReferencesPair> allowedReferences, PdfIndirectReference indirectReference, PdfDocument documentWithoutRevision) private boolean
compareCatalogs
(PdfDocument documentWithoutRevision, PdfDocument documentWithRevision, ValidationReport report) private boolean
compareDss
(PdfObject previousDss, PdfObject currentDss, ValidationReport report) private boolean
compareExtensions
(PdfObject previousExtensions, PdfObject currentExtensions, ValidationReport report) private static boolean
comparePdfArrays
(PdfArray array1, PdfArray array2, Set<PdfObject> visitedObjects) private static boolean
comparePdfDictionaries
(PdfDictionary dictionary1, PdfDictionary dictionary2, Set<PdfObject> visitedObjects) private static boolean
comparePdfObjects
(PdfObject pdfObject1, PdfObject pdfObject2) private static boolean
comparePdfObjects
(PdfObject pdfObject1, PdfObject pdfObject2, Set<PdfObject> visitedObjects) private static boolean
comparePdfStreams
(PdfStream stream1, PdfStream stream2, Set<PdfObject> visitedObjects) createAllowedDssEntries
(PdfDocument documentWithRevision, PdfDocument documentWithoutRevision) createAllowedReferences
(PdfDocument documentWithRevision, PdfDocument documentWithoutRevision) (package private) static InputStream
createInputStreamFromRevision
(PdfDocument originalDocument, DocumentRevision revision) private static PdfIndirectReference
getIndirectReferenceOrNull
(Supplier<PdfIndirectReference> referenceGetter) private static boolean
isMaxGenerationObject
(PdfIndirectReference indirectReference) private static boolean
isSameReference
(PdfIndirectReference indirectReference1, PdfIndirectReference indirectReference2) void
setEventCountingMetaInfo
(IMetaInfo metaInfo) Sets theIMetaInfo
that will be used duringPdfDocument
creation.(package private) ValidationReport
validateRevision
(PdfDocument originalDocument, PdfDocument documentWithoutRevision, DocumentRevision revision)
-
Field Details
-
DOC_MDP_CHECK
- See Also:
-
NOT_ALLOWED_CATALOG_CHANGES
- See Also:
-
DSS_REMOVED
- See Also:
-
EXTENSIONS_REMOVED
- See Also:
-
DEVELOPER_EXTENSION_REMOVED
- See Also:
-
EXTENSION_LEVEL_DECREASED
- See Also:
-
OBJECT_REMOVED
- See Also:
-
UNEXPECTED_ENTRY_IN_XREF
- See Also:
-
metaInfo
-
-
Constructor Details
-
DocumentRevisionsValidator
DocumentRevisionsValidator()
-
-
Method Details
-
setEventCountingMetaInfo
Sets theIMetaInfo
that will be used duringPdfDocument
creation.- Parameters:
metaInfo
- meta info to set
-
validateRevision
ValidationReport validateRevision(PdfDocument originalDocument, PdfDocument documentWithoutRevision, DocumentRevision revision) throws IOException - Throws:
IOException
-
checkAllowedReferences
private boolean checkAllowedReferences(List<DocumentRevisionsValidator.ReferencesPair> allowedReferences, PdfIndirectReference indirectReference, PdfDocument documentWithoutRevision) -
createAllowedReferences
private List<DocumentRevisionsValidator.ReferencesPair> createAllowedReferences(PdfDocument documentWithRevision, PdfDocument documentWithoutRevision) -
createAllowedDssEntries
private List<DocumentRevisionsValidator.ReferencesPair> createAllowedDssEntries(PdfDocument documentWithRevision, PdfDocument documentWithoutRevision) -
compareCatalogs
private boolean compareCatalogs(PdfDocument documentWithoutRevision, PdfDocument documentWithRevision, ValidationReport report) -
compareExtensions
private boolean compareExtensions(PdfObject previousExtensions, PdfObject currentExtensions, ValidationReport report) -
compareDss
-
createInputStreamFromRevision
static InputStream createInputStreamFromRevision(PdfDocument originalDocument, DocumentRevision revision) -
comparePdfObjects
-
comparePdfObjects
-
comparePdfArrays
-
comparePdfDictionaries
private static boolean comparePdfDictionaries(PdfDictionary dictionary1, PdfDictionary dictionary2, Set<PdfObject> visitedObjects) -
comparePdfStreams
-
isSameReference
private static boolean isSameReference(PdfIndirectReference indirectReference1, PdfIndirectReference indirectReference2) -
isMaxGenerationObject
-
getIndirectReferenceOrNull
private static PdfIndirectReference getIndirectReferenceOrNull(Supplier<PdfIndirectReference> referenceGetter)
-