Search in sources :

Example 1 with COSUpdateInfo

use of org.apache.pdfbox.cos.COSUpdateInfo in project pdfbox by apache.

the class COSWriter method addObjectToWrite.

private void addObjectToWrite(COSBase object) {
    COSBase actual = object;
    if (actual instanceof COSObject) {
        actual = ((COSObject) actual).getObject();
    }
    if (!writtenObjects.contains(object) && !objectsToWriteSet.contains(object) && !actualsAdded.contains(actual)) {
        COSBase cosBase = null;
        COSObjectKey cosObjectKey = null;
        if (actual != null) {
            cosObjectKey = objectKeys.get(actual);
        }
        if (cosObjectKey != null) {
            cosBase = keyObject.get(cosObjectKey);
        }
        if (actual != null && objectKeys.containsKey(actual) && object instanceof COSUpdateInfo && !((COSUpdateInfo) object).isNeedToBeUpdated() && cosBase instanceof COSUpdateInfo && !((COSUpdateInfo) cosBase).isNeedToBeUpdated()) {
            return;
        }
        objectsToWrite.add(object);
        objectsToWriteSet.add(object);
        if (actual != null) {
            actualsAdded.add(actual);
        }
    }
}
Also used : COSObjectKey(org.apache.pdfbox.cos.COSObjectKey) COSUpdateInfo(org.apache.pdfbox.cos.COSUpdateInfo) COSObject(org.apache.pdfbox.cos.COSObject) COSBase(org.apache.pdfbox.cos.COSBase)

Aggregations

COSBase (org.apache.pdfbox.cos.COSBase)1 COSObject (org.apache.pdfbox.cos.COSObject)1 COSObjectKey (org.apache.pdfbox.cos.COSObjectKey)1 COSUpdateInfo (org.apache.pdfbox.cos.COSUpdateInfo)1