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 2024/02/13 10:05:12 UTC
svn commit: r1915765 - in /pdfbox/branches/3.0/pdfbox/src: main/java/org/apache/pdfbox/contentstream/operator/text/ main/java/org/apache/pdfbox/cos/ main/java/org/apache/pdfbox/pdmodel/graphics/color/ test/java/org/apache/pdfbox/cos/ test/java/org/apac...
Author: tilman
Date: Tue Feb 13 10:05:12 2024
New Revision: 1915765
URL: http://svn.apache.org/viewvc?rev=1915765&view=rev
Log:
PDFBOX-5660: introduce constants COSFLOAT.ZERO and COSFloat.ONE to avoid creating unnecessary instances, by Axel Howind
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/text/NextLine.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDCIEDictionaryBasedColorSpace.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDCalRGB.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDGamma.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDTristimulus.java
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSArray.java
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/PDLineDashPatternTest.java
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/util/MatrixTest.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/text/NextLine.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/text/NextLine.java?rev=1915765&r1=1915764&r2=1915765&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/text/NextLine.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/text/NextLine.java Tue Feb 13 10:05:12 2024
@@ -44,7 +44,7 @@ public class NextLine extends OperatorPr
{
//move to start of next text line
List<COSBase> args = new ArrayList<>(2);
- args.add(new COSFloat(0f));
+ args.add(COSFloat.ZERO);
PDFStreamEngine context = getContext();
// this must be -leading instead of just leading as written in the
// specification (p.369) the acrobat reader seems to implement it the same way
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java?rev=1915765&r1=1915764&r2=1915765&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java Tue Feb 13 10:05:12 2024
@@ -32,6 +32,9 @@ public class COSFloat extends COSNumber
private final float value;
private String valueAsString;
+ public static final COSFloat ZERO = new COSFloat(0f, "0.0");
+ public static final COSFloat ONE = new COSFloat(1f, "1.0");
+
/**
* Constructor.
*
@@ -43,6 +46,18 @@ public class COSFloat extends COSNumber
}
/**
+ * An internal constructor to avoid formatting for the predefined constants.
+ *
+ * @param aFloat
+ * @param valueString
+ */
+ private COSFloat(float aFloat, String valueString)
+ {
+ value = aFloat;
+ valueAsString = valueString;
+ }
+
+ /**
* Constructor.
*
* @param aFloat The primitive float object that this object wraps.
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDCIEDictionaryBasedColorSpace.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDCIEDictionaryBasedColorSpace.java?rev=1915765&r1=1915764&r2=1915765&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDCIEDictionaryBasedColorSpace.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDCIEDictionaryBasedColorSpace.java Tue Feb 13 10:05:12 2024
@@ -118,9 +118,9 @@ public abstract class PDCIEDictionaryBas
if (wp == null)
{
wp = new COSArray();
- wp.add(new COSFloat(1.0f));
- wp.add(new COSFloat(1.0f));
- wp.add(new COSFloat(1.0f));
+ wp.add(COSFloat.ONE);
+ wp.add(COSFloat.ONE);
+ wp.add(COSFloat.ONE);
}
return new PDTristimulus(wp);
}
@@ -138,9 +138,9 @@ public abstract class PDCIEDictionaryBas
if (bp == null)
{
bp = new COSArray();
- bp.add(new COSFloat(0.0f));
- bp.add(new COSFloat(0.0f));
- bp.add(new COSFloat(0.0f));
+ bp.add(COSFloat.ZERO);
+ bp.add(COSFloat.ZERO);
+ bp.add(COSFloat.ZERO);
}
return new PDTristimulus(bp);
}
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDCalRGB.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDCalRGB.java?rev=1915765&r1=1915764&r2=1915765&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDCalRGB.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDCalRGB.java Tue Feb 13 10:05:12 2024
@@ -124,9 +124,9 @@ public class PDCalRGB extends PDCIEDicti
if (gammaArray == null)
{
gammaArray = new COSArray();
- gammaArray.add(new COSFloat(1.0f));
- gammaArray.add(new COSFloat(1.0f));
- gammaArray.add(new COSFloat(1.0f));
+ gammaArray.add(COSFloat.ONE);
+ gammaArray.add(COSFloat.ONE);
+ gammaArray.add(COSFloat.ONE);
dictionary.setItem(COSName.GAMMA, gammaArray);
}
return new PDGamma(gammaArray);
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDGamma.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDGamma.java?rev=1915765&r1=1915764&r2=1915765&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDGamma.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDGamma.java Tue Feb 13 10:05:12 2024
@@ -39,9 +39,9 @@ public final class PDGamma implements CO
public PDGamma()
{
values = new COSArray();
- values.add(new COSFloat(0.0f));
- values.add(new COSFloat(0.0f));
- values.add(new COSFloat(0.0f));
+ values.add(COSFloat.ZERO);
+ values.add(COSFloat.ZERO);
+ values.add(COSFloat.ZERO);
}
/**
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java?rev=1915765&r1=1915764&r2=1915765&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java Tue Feb 13 10:05:12 2024
@@ -518,8 +518,8 @@ public final class PDICCBased extends PD
// extend range array with default values if needed
while (rangeArray.size() < (n + 1) * 2)
{
- rangeArray.add(new COSFloat(0));
- rangeArray.add(new COSFloat(1));
+ rangeArray.add(COSFloat.ZERO);
+ rangeArray.add(COSFloat.ONE);
}
rangeArray.set(n*2, new COSFloat(range.getMin()));
rangeArray.set(n*2+1, new COSFloat(range.getMax()));
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDTristimulus.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDTristimulus.java?rev=1915765&r1=1915764&r2=1915765&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDTristimulus.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDTristimulus.java Tue Feb 13 10:05:12 2024
@@ -38,9 +38,9 @@ public final class PDTristimulus impleme
public PDTristimulus()
{
values = new COSArray();
- values.add(new COSFloat(0.0f));
- values.add(new COSFloat(0.0f));
- values.add(new COSFloat(0.0f));
+ values.add(COSFloat.ZERO);
+ values.add(COSFloat.ZERO);
+ values.add(COSFloat.ZERO);
}
/**
Modified: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSArray.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSArray.java?rev=1915765&r1=1915764&r2=1915765&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSArray.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/cos/TestCOSArray.java Tue Feb 13 10:05:12 2024
@@ -117,7 +117,7 @@ class TestCOSArray
cosArray.setFloatArray(floatArrayStart);
assertEquals(3, cosArray.size());
- assertEquals(new COSFloat(1.0f), cosArray.get(0));
+ assertEquals(COSFloat.ONE, cosArray.get(0));
assertEquals(new COSFloat(0.1f), cosArray.get(1));
assertEquals(new COSFloat(0.02f), cosArray.get(2));
@@ -134,9 +134,9 @@ class TestCOSArray
assertArrayEquals(floatArrayStart, floatArrayEnd, 0);
// check arrays with null values
- cosArray = new COSArray(Arrays.asList(new COSFloat(1.0f), null, new COSFloat(0.02f)));
+ cosArray = new COSArray(Arrays.asList(COSFloat.ONE, null, new COSFloat(0.02f)));
assertEquals(3, cosArray.size());
- assertEquals(new COSFloat(1.0f), cosArray.get(0));
+ assertEquals(COSFloat.ONE, cosArray.get(0));
assertNull(cosArray.get(1));
assertEquals(new COSFloat(0.02f), cosArray.get(2));
Modified: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/PDLineDashPatternTest.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/PDLineDashPatternTest.java?rev=1915765&r1=1915764&r2=1915765&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/PDLineDashPatternTest.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/PDLineDashPatternTest.java Tue Feb 13 10:05:12 2024
@@ -48,7 +48,7 @@ class PDLineDashPatternTest
COSArray dashArray = (COSArray) dashBase.getObject(0);
assertEquals(2, dashBase.size());
assertEquals(2, dashArray.size());
- assertEquals(new COSFloat(1), dashArray.get(0));
+ assertEquals(COSFloat.ONE, dashArray.get(0));
assertEquals(new COSFloat(2), dashArray.get(1));
assertEquals(COSInteger.THREE, dashBase.get(1));
System.out.println(dash);
Modified: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/util/MatrixTest.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/util/MatrixTest.java?rev=1915765&r1=1915764&r2=1915765&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/util/MatrixTest.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/util/MatrixTest.java Tue Feb 13 10:05:12 2024
@@ -234,7 +234,7 @@ class MatrixTest
assertEquals(new COSFloat(5), toCOSArray.get(2));
assertEquals(new COSFloat(8), toCOSArray.get(3));
assertEquals(new COSFloat(2), toCOSArray.get(4));
- assertEquals(new COSFloat(0), toCOSArray.get(5));
+ assertEquals(COSFloat.ZERO, toCOSArray.get(5));
}