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()
+    {
+    }
+
 }


Reply via email to