Author: lehmi Date: Fri May 30 15:25:44 2014 New Revision: 1598633 URL: http://svn.apache.org/r1598633 Log: PDFBOX-2101: added clear() method to PDFont and PDXObject to delete cached resources if necessary
Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObject.java Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java?rev=1598633&r1=1598632&r2=1598633&view=diff ============================================================================== --- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java (original) +++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java Fri May 30 15:25:44 2014 @@ -110,6 +110,10 @@ public class PDResources implements COSO { if (fonts != null) { + for(PDFont font : fonts.values()) + { + font.clear(); + } fonts.clear(); fonts = null; } @@ -125,6 +129,10 @@ public class PDResources implements COSO } if (xobjects != null) { + for(PDXObject xobject : xobjects.values()) + { + xobject.clear(); + } xobjects.clear(); xobjects = null; } Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java?rev=1598633&r1=1598632&r2=1598633&view=diff ============================================================================== --- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java (original) +++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java Fri May 30 15:25:44 2014 @@ -935,4 +935,12 @@ public abstract class PDFont implements { return toUnicodeCmap; } + + /** + * Calling this will release all cached information. + */ + public void clear() + { + } + } Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java?rev=1598633&r1=1598632&r2=1598633&view=diff ============================================================================== --- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java (original) +++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java Fri May 30 15:25:44 2014 @@ -542,6 +542,12 @@ public class PDJpeg extends PDXObjectIma // create an image using the converted color values return new BufferedImage(cm, writeableRaster, true, null); } - + + @Override + public void clear() + { + super.clear(); + image = null; + } } Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java?rev=1598633&r1=1598632&r2=1598633&view=diff ============================================================================== --- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java (original) +++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java Fri May 30 15:25:44 2014 @@ -459,4 +459,11 @@ public class PDPixelMap extends PDXObjec } return 1; } + + @Override + public void clear() + { + super.clear(); + image = null; + } } Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObject.java URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObject.java?rev=1598633&r1=1598632&r2=1598633&view=diff ============================================================================== --- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObject.java (original) +++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObject.java Fri May 30 15:25:44 2014 @@ -232,4 +232,11 @@ public abstract class PDXObject implemen getCOSStream().setInt(COSName.STRUCT_PARENT, structParent); } + /** + * Calling this will release all cached information. + */ + public void clear() + { + } + }