Author: lehmi Date: Fri May 30 15:18:48 2014 New Revision: 1598627 URL: http://svn.apache.org/r1598627 Log: PDFBOX-2101: added clear() method to PDFont and PDXObject to delete cached resources if necessary
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/PDXObject.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java?rev=1598627&r1=1598626&r2=1598627&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java Fri May 30 15:18:48 2014 @@ -107,6 +107,10 @@ public class PDResources implements COSO { if (fonts != null) { + for(PDFont font : fonts.values()) + { + font.clear(); + } fonts.clear(); fonts = null; } @@ -122,6 +126,10 @@ public class PDResources implements COSO } if (xobjects != null) { + for(PDXObject xobject : xobjects.values()) + { + xobject.clear(); + } xobjects.clear(); xobjects = null; } Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java?rev=1598627&r1=1598626&r2=1598627&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java Fri May 30 15:18:48 2014 @@ -835,4 +835,11 @@ public abstract class PDFont implements return cmap; } + /** + * Calling this will release all cached information. + */ + public void clear() + { + } + } Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/PDXObject.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/PDXObject.java?rev=1598627&r1=1598626&r2=1598627&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/PDXObject.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/PDXObject.java Fri May 30 15:18:48 2014 @@ -128,4 +128,11 @@ public class PDXObject implements COSObj { return stream; } + + /** + * Calling this will release all cached information. + */ + public void clear() + { + } } Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java?rev=1598627&r1=1598626&r2=1598627&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java Fri May 30 15:18:48 2014 @@ -467,4 +467,11 @@ public final class PDImageXObject extend return null; } } + + @Override + public void clear() + { + super.clear(); + cachedImage = null; + } }