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 2019/09/24 17:53:25 UTC

svn commit: r1867480 - in /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff: CharStringHandler.java Type1CharString.java Type2CharString.java

Author: tilman
Date: Tue Sep 24 17:53:25 2019
New Revision: 1867480

URL: http://svn.apache.org/viewvc?rev=1867480&view=rev
Log:
PDFBOX-4071: turn abstract class into interface + use member reference

Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringHandler.java
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type2CharString.java

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringHandler.java?rev=1867480&r1=1867479&r2=1867480&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringHandler.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringHandler.java Tue Sep 24 17:53:25 2019
@@ -27,7 +27,7 @@ import java.util.Stack;
  * @author John Hewson
  * 
  */
-public abstract class CharStringHandler
+public interface CharStringHandler
 {
     /**
      * Handler for a sequence of CharStringCommands.
@@ -35,22 +35,22 @@ public abstract class CharStringHandler
      * @param sequence of CharStringCommands
      *
      */
-    public List<Number> handleSequence(List<Object> sequence)
+    default List<Number> handleSequence(List<Object> sequence)
     {
         Stack<Number> stack = new Stack<>();
-        for (Object obj : sequence)
+        sequence.forEach(obj ->
         {
             if (obj instanceof CharStringCommand)
             {
-                List<Number> results = handleCommand(stack, (CharStringCommand)obj);
+                List<Number> results = handleCommand(stack, (CharStringCommand) obj);
                 stack.clear();  // this is basically returning the new stack
                 stack.addAll(results);
             }
             else
             {
-                stack.push((Number)obj);
+                stack.push((Number) obj);
             }
-        }
+        });
         return stack;
     }
 

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java?rev=1867480&r1=1867479&r2=1867480&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java Tue Sep 24 17:53:25 2019
@@ -153,13 +153,7 @@ public class Type1CharString
         path = new GeneralPath();
         leftSideBearing = new Point2D.Float(0, 0);
         width = 0;
-        CharStringHandler handler = new CharStringHandler() {
-            @Override
-            public List<Number> handleCommand(List<Number> numbers, CharStringCommand command)
-            {
-                return Type1CharString.this.handleCommand(numbers, command);
-            }
-        };
+        CharStringHandler handler = Type1CharString.this::handleCommand;
         handler.handleSequence(type1Sequence);
     }
 

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type2CharString.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type2CharString.java?rev=1867480&r1=1867479&r2=1867480&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type2CharString.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type2CharString.java Tue Sep 24 17:53:25 2019
@@ -82,13 +82,7 @@ public class Type2CharString extends Typ
     {
         type1Sequence = new ArrayList<>();
         pathCount = 0;
-        CharStringHandler handler = new CharStringHandler() {
-            @Override
-            public List<Number> handleCommand(List<Number> numbers, CharStringCommand command)
-            {
-                return Type2CharString.this.handleCommand(numbers, command);
-            }
-        };
+        CharStringHandler handler = Type2CharString.this::handleCommand;
         handler.handleSequence(sequence);
     }