Author: tilman
Date: Sun Sep 14 15:34:17 2025
New Revision: 1928468

Log:
PDFBOX-5660: refactor

Modified:
   
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElement.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElement.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElement.java
    Sun Sep 14 14:40:00 2025        (r1928467)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElement.java
    Sun Sep 14 15:34:17 2025        (r1928468)
@@ -18,7 +18,6 @@ package org.apache.pdfbox.pdmodel.docume
 
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.pdfbox.cos.COSArray;
@@ -164,16 +163,11 @@ public class PDStructureElement extends
         COSBase a = this.getCOSObject().getDictionaryObject(COSName.A);
         if (a instanceof COSArray)
         {
-            COSArray aa = (COSArray) a;
-            Iterator<COSBase> it = aa.iterator();
+            COSArray array = (COSArray) a;
             PDAttributeObject ao = null;
-            while (it.hasNext())
+            for (int i = 0; i < array.size(); ++i)
             {
-                COSBase item = it.next();
-                if (item instanceof COSObject)
-                {
-                    item = ((COSObject) item).getObject();
-                }
+                COSBase item = array.getObject(i);
                 if (item instanceof COSDictionary)
                 {
                     ao = PDAttributeObject.create((COSDictionary) item);
@@ -182,6 +176,8 @@ public class PDStructureElement extends
                 }
                 else if (item instanceof COSInteger)
                 {
+                    // Read "14.7.5.3 Attribute Revision Numbers"
+                    // This is additional to the /R entry
                     attributes.setRevisionNumber(ao, ((COSNumber) 
item).intValue());
                 }
             }
@@ -337,15 +333,10 @@ public class PDStructureElement extends
         if (c instanceof COSArray)
         {
             COSArray array = (COSArray) c;
-            Iterator<COSBase> it = array.iterator();
             String className = null;
-            while (it.hasNext())
+            for (int i = 0; i < array.size(); ++i)
             {
-                COSBase item = it.next();
-                if (item instanceof COSObject)
-                {
-                    item = ((COSObject) item).getObject();
-                }
+                COSBase item = array.getObject(i);
                 if (item instanceof COSName)
                 {
                     className = ((COSName) item).getName();
@@ -353,6 +344,8 @@ public class PDStructureElement extends
                 }
                 else if (item instanceof COSInteger)
                 {
+                    // Read "14.7.5.3 Attribute Revision Numbers"
+                    // This is additional to the /R entry
                     classNames.setRevisionNumber(className, ((COSNumber) 
item).intValue());
                 }
             }

Reply via email to