Author: tilman
Date: Mon Sep 8 11:28:18 2025
New Revision: 1928288
Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #248
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationInk.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationInk.java
==============================================================================
---
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationInk.java
Mon Sep 8 11:28:13 2025 (r1928287)
+++
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotationInk.java
Mon Sep 8 11:28:18 2025 (r1928288)
@@ -143,7 +143,7 @@ public class FDFAnnotationInk extends FD
COSArray array = (COSArray) annot.getDictionaryObject(COSName.INKLIST);
if (array != null)
{
- List<float[]> retval = new ArrayList<float[]>();
+ List<float[]> retval = new ArrayList<float[]>(array.size());
for (COSBase entry : array)
{
retval.add(((COSArray) entry).toFloatArray());
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java
==============================================================================
---
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java
Mon Sep 8 11:28:13 2025 (r1928287)
+++
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java
Mon Sep 8 11:28:18 2025 (r1928288)
@@ -334,10 +334,10 @@ public class FDFDictionary implements CO
public List<FDFField> getFields()
{
List<FDFField> retval = null;
- COSArray fieldArray = (COSArray)
fdf.getDictionaryObject(COSName.FIELDS);
+ COSArray fieldArray = fdf.getCOSArray(COSName.FIELDS);
if (fieldArray != null)
{
- List<FDFField> fields = new ArrayList<FDFField>();
+ List<FDFField> fields = new ArrayList<FDFField>(fieldArray.size());
for (int i = 0; i < fieldArray.size(); i++)
{
fields.add(new FDFField((COSDictionary)
fieldArray.getObject(i)));
@@ -385,10 +385,10 @@ public class FDFDictionary implements CO
public List<FDFPage> getPages()
{
List<FDFPage> retval = null;
- COSArray pageArray = (COSArray) fdf.getDictionaryObject(COSName.PAGES);
+ COSArray pageArray = fdf.getCOSArray(COSName.PAGES);
if (pageArray != null)
{
- List<FDFPage> pages = new ArrayList<FDFPage>();
+ List<FDFPage> pages = new ArrayList<FDFPage>(pageArray.size());
for (int i = 0; i < pageArray.size(); i++)
{
pages.add(new FDFPage((COSDictionary) pageArray.get(i)));
@@ -446,10 +446,10 @@ public class FDFDictionary implements CO
public List<FDFAnnotation> getAnnotations() throws IOException
{
List<FDFAnnotation> retval = null;
- COSArray annotArray = (COSArray)
fdf.getDictionaryObject(COSName.ANNOTS);
+ COSArray annotArray = fdf.getCOSArray(COSName.ANNOTS);
if (annotArray != null)
{
- List<FDFAnnotation> annots = new ArrayList<FDFAnnotation>();
+ List<FDFAnnotation> annots = new
ArrayList<FDFAnnotation>(annotArray.size());
for (int i = 0; i < annotArray.size(); i++)
{
annots.add(FDFAnnotation.create((COSDictionary)
annotArray.getObject(i)));
@@ -521,10 +521,10 @@ public class FDFDictionary implements CO
public List<PDFileSpecification> getEmbeddedFDFs() throws IOException
{
List<PDFileSpecification> retval = null;
- COSArray embeddedArray = (COSArray)
fdf.getDictionaryObject(COSName.EMBEDDED_FDFS);
+ COSArray embeddedArray = fdf.getCOSArray(COSName.EMBEDDED_FDFS);
if (embeddedArray != null)
{
- List<PDFileSpecification> embedded = new
ArrayList<PDFileSpecification>();
+ List<PDFileSpecification> embedded = new
ArrayList<PDFileSpecification>(embeddedArray.size());
for (int i = 0; i < embeddedArray.size(); i++)
{
embedded.add(PDFileSpecification.createFS(embeddedArray.get(i)));
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java
==============================================================================
---
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java
Mon Sep 8 11:28:13 2025 (r1928287)
+++
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java
Mon Sep 8 11:28:18 2025 (r1928288)
@@ -97,10 +97,10 @@ public class FDFTemplate implements COSO
public List<FDFField> getFields()
{
List<FDFField> retval = null;
- COSArray array = (COSArray)
template.getDictionaryObject(COSName.FIELDS);
+ COSArray array = template.getCOSArray(COSName.FIELDS);
if (array != null)
{
- List<FDFField> fields = new ArrayList<FDFField>();
+ List<FDFField> fields = new ArrayList<FDFField>(array.size());
for (int i = 0; i < array.size(); i++)
{
fields.add(new FDFField((COSDictionary) array.getObject(i)));