You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2019/09/17 17:53:50 UTC
svn commit: r1867069 - in
/pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox:
cos/COSDocument.java pdfparser/FDFParser.java pdfparser/PDFParser.java
Author: lehmi
Date: Tue Sep 17 17:53:50 2019
New Revision: 1867069
URL: http://svn.apache.org/viewvc?rev=1867069&view=rev
Log:
PDFBOX-4569: use interface
Modified:
pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java
pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java
pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java
Modified: pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java?rev=1867069&r1=1867068&r2=1867069&view=diff
==============================================================================
--- pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java (original)
+++ pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java Tue Sep 17 17:53:50 2019
@@ -27,7 +27,6 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.pdfbox.io.IOUtils;
import org.apache.pdfbox.io.ScratchFile;
-import org.apache.pdfbox.pdfparser.COSParser;
/**
* This is the in-memory representation of the PDF document. You need to call
@@ -89,14 +88,24 @@ public class COSDocument extends COSBase
*/
private long highestXRefObjectNumber;
- public COSParser parser;
+ private ICOSParser parser;
/**
* Constructor. Uses main memory to buffer PDF streams.
*/
public COSDocument()
{
- this(ScratchFile.getMainMemoryOnlyInstance());
+ this(ScratchFile.getMainMemoryOnlyInstance(), null);
+ }
+
+ /**
+ * Constructor. Uses main memory to buffer PDF streams.
+ *
+ * @param parser Parser to be used to parse the document on demand
+ */
+ public COSDocument(ICOSParser parser)
+ {
+ this(ScratchFile.getMainMemoryOnlyInstance(), parser);
}
/**
@@ -108,7 +117,20 @@ public class COSDocument extends COSBase
*/
public COSDocument(ScratchFile scratchFile)
{
+ this(scratchFile, null);
+ }
+
+ /**
+ * Constructor that will use the provide memory handler for storage of the PDF streams.
+ *
+ * @param scratchFile memory handler for buffering of PDF streams
+ * @param parser Parser to be used to parse the document on demand
+ *
+ */
+ public COSDocument(ScratchFile scratchFile, ICOSParser parser)
+ {
this.scratchFile = scratchFile;
+ this.parser = parser;
}
/**
Modified: pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java?rev=1867069&r1=1867068&r2=1867069&view=diff
==============================================================================
--- pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java (original)
+++ pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java Tue Sep 17 17:53:50 2019
@@ -100,8 +100,7 @@ public class FDFParser extends COSParser
+ " does not contain an integer value, but: '" + eofLookupRangeStr + "'");
}
}
- document = new COSDocument();
- document.parser = this;
+ document = new COSDocument(this);
}
/**
Modified: pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java?rev=1867069&r1=1867068&r2=1867069&view=diff
==============================================================================
--- pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java (original)
+++ pdfbox/branches/issue4569/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java Tue Sep 17 17:53:50 2019
@@ -139,8 +139,7 @@ public class PDFParser extends COSParser
+ " does not contain an integer value, but: '" + eofLookupRangeStr + "'");
}
}
- document = new COSDocument(scratchFile);
- document.parser = this;
+ document = new COSDocument(scratchFile, this);
}
/**
@@ -183,7 +182,6 @@ public class PDFParser extends COSParser
// check pages dictionaries
checkPages(root);
document.setDecrypted();
- document.parser = this;
initialParseDone = true;
}