You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/04/12 19:00:12 UTC

svn commit: r1876431 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos: COSDictionary.java COSDocument.java

Author: tilman
Date: Sun Apr 12 19:00:11 2020
New Revision: 1876431

URL: http://svn.apache.org/viewvc?rev=1876431&view=rev
Log:
PDFBOX-4071: use method reference; introduce and use forEach that is analog to the Map.foreach

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java?rev=1876431&r1=1876430&r2=1876431&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java Sun Apr 12 19:00:11 2020
@@ -28,6 +28,7 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 import java.util.Map.Entry;
+import java.util.function.BiConsumer;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -1355,6 +1356,17 @@ public class COSDictionary extends COSBa
     }
 
     /**
+     * Convenience method that calls
+     * {@link Map#forEach(java.util.function.BiConsumer) Map.forEach(BiConsumer)}.
+     *
+     * @param action
+     */
+    public void forEach(BiConsumer<? super COSName, ? super COSBase> action)
+    {
+        items.forEach(action);
+    }
+
+    /**
      * This will get all of the values for the dictionary.
      *
      * @return All the values for the dictionary.

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java?rev=1876431&r1=1876430&r2=1876431&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java Sun Apr 12 19:00:11 2020
@@ -19,6 +19,7 @@ package org.apache.pdfbox.cos;
 import java.io.Closeable;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -160,10 +161,7 @@ public class COSDocument extends COSBase
     public COSStream createCOSStream(COSDictionary dictionary)
     {
         COSStream stream = new COSStream(scratchFile);
-        for (Map.Entry<COSName, COSBase> entry : dictionary.entrySet())
-        {
-            stream.setItem(entry.getKey(), entry.getValue());
-        }
+        dictionary.forEach((key, value) -> stream.setItem(key, value));
         return stream;
     }
 
@@ -178,7 +176,7 @@ public class COSDocument extends COSBase
         // within the pdf
         List<COSObjectKey> objectKeys = xrefTable.entrySet().stream() //
                 .filter(e -> e.getValue() > 0L) //
-                .sorted((e1, e2) -> e1.getValue().compareTo(e2.getValue())) //
+                .sorted(Comparator.comparing(Entry::getValue)) //
                 .map(Entry::getKey) //
                 .collect(Collectors.toList());
         for (COSObjectKey objectKey : objectKeys)