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 2021/03/20 14:18:50 UTC
svn commit: r1887854 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive:
annotation/layout/PlainText.java form/PlainText.java
Author: tilman
Date: Sat Mar 20 14:18:50 2021
New Revision: 1887854
URL: http://svn.apache.org/viewvc?rev=1887854&view=rev
Log:
PDFBOX-4892: improve performance, as suggested by valerybokov; use functional syntax
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/layout/PlainText.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PlainText.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/layout/PlainText.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/layout/PlainText.java?rev=1887854&r1=1887853&r2=1887854&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/layout/PlainText.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/layout/PlainText.java Sat Mar 20 14:18:50 2021
@@ -21,7 +21,6 @@ import java.text.AttributedString;
import java.text.BreakIterator;
import java.text.AttributedCharacterIterator.Attribute;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import org.apache.pdfbox.pdmodel.font.PDFont;
@@ -51,15 +50,15 @@ public class PlainText
*/
public PlainText(String textValue)
{
- List<String> parts = Arrays.asList(textValue.replaceAll("\t", " ").split("\\r\\n|\\n|\\r|\\u2028|\\u2029"));
- paragraphs = new ArrayList<>();
+ String[] parts = textValue.replaceAll("\t", " ").split("\\r\\n|\\n|\\r|\\u2028|\\u2029");
+ paragraphs = new ArrayList<>(parts.length);
for (String part : parts)
{
- // Acrobat prints a space for an empty paragraph
- if (part.length() == 0)
- {
- part = " ";
- }
+ // Acrobat prints a space for an empty paragraph
+ if (part.length() == 0)
+ {
+ part = " ";
+ }
paragraphs.add(new Paragraph(part));
}
}
@@ -74,11 +73,8 @@ public class PlainText
*/
public PlainText(List<String> listValue)
{
- paragraphs = new ArrayList<>();
- for (String part : listValue)
- {
- paragraphs.add(new Paragraph(part));
- }
+ paragraphs = new ArrayList<>(listValue.size());
+ listValue.forEach(part -> paragraphs.add(new Paragraph(part)));
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PlainText.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PlainText.java?rev=1887854&r1=1887853&r2=1887854&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PlainText.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PlainText.java Sat Mar 20 14:18:50 2021
@@ -51,13 +51,15 @@ class PlainText
*/
PlainText(String textValue)
{
- paragraphs = new ArrayList<>();
- if (textValue.isEmpty()) {
+ if (textValue.isEmpty())
+ {
+ paragraphs = new ArrayList<>(1);
paragraphs.add(new Paragraph(""));
}
else
{
- List<String> parts = Arrays.asList(textValue.replaceAll("\t", " ").split("\\r\\n|\\n|\\r|\\u2028|\\u2029"));
+ String[] parts = textValue.replaceAll("\t", " ").split("\\r\\n|\\n|\\r|\\u2028|\\u2029");
+ paragraphs = new ArrayList<>(parts.length);
for (String part : parts)
{
// Acrobat prints a space for an empty paragraph
@@ -80,11 +82,8 @@ class PlainText
*/
PlainText(List<String> listValue)
{
- paragraphs = new ArrayList<>();
- for (String part : listValue)
- {
- paragraphs.add(new Paragraph(part));
- }
+ paragraphs = new ArrayList<>(listValue.size());
+ listValue.forEach(part -> paragraphs.add(new Paragraph(part)));
}
/**