You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2021/03/14 16:08:57 UTC

svn commit: r1887637 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox: cos/ pdmodel/graphics/pattern/ pdmodel/graphics/shading/ pdmodel/graphics/state/ pdmodel/interactive/annotation/ pdmodel/interactive/form/ pdmodel/interactive/measurement/

Author: lehmi
Date: Sun Mar 14 16:08:57 2021
New Revision: 1887637

URL: http://svn.apache.org/viewvc?rev=1887637&view=rev
Log:
PDFBOX-4892: use convenience methods to simplify code, add new constants

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDShadingPattern.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDTilingPattern.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType1.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType2.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDSoftMask.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceDictionary.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceEntry.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDChoice.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldFactory.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDSignatureField.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTerminalField.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/measurement/PDRectlinearMeasureDictionary.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/measurement/PDViewportDictionary.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java Sun Mar 14 16:08:57 2021
@@ -164,6 +164,7 @@ public final class COSName extends COSBa
     public static final COSName CROP_BOX = new COSName("CropBox");
     public static final COSName CRYPT = new COSName("Crypt");
     public static final COSName CS = new COSName("CS");
+    public static final COSName CYX = new COSName("CYX");
     // D
     public static final COSName D = new COSName("D");
     public static final COSName DA = new COSName("DA");

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDShadingPattern.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDShadingPattern.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDShadingPattern.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDShadingPattern.java Sun Mar 14 16:08:57 2021
@@ -17,7 +17,6 @@
 package org.apache.pdfbox.pdmodel.graphics.pattern;
 
 import java.io.IOException;
-import org.apache.pdfbox.cos.COSBase;
 
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
@@ -64,10 +63,10 @@ public class PDShadingPattern extends PD
     {
         if (extendedGraphicsState == null)
         {
-            COSBase base = getCOSObject().getDictionaryObject(COSName.EXT_G_STATE);
-            if (base instanceof COSDictionary)
+            COSDictionary base = getCOSObject().getCOSDictionary(COSName.EXT_G_STATE);
+            if (base != null)
             {
-                extendedGraphicsState = new PDExtendedGraphicsState((COSDictionary) base);
+                extendedGraphicsState = new PDExtendedGraphicsState(base);
             }
         }
         return extendedGraphicsState;
@@ -92,10 +91,10 @@ public class PDShadingPattern extends PD
     {
         if (shading == null)
         {
-            COSBase base = getCOSObject().getDictionaryObject(COSName.SHADING);
-            if (base instanceof COSDictionary)
+            COSDictionary base = getCOSObject().getCOSDictionary(COSName.SHADING);
+            if (base != null)
             {
-                shading = PDShading.create((COSDictionary) base);
+                shading = PDShading.create(base);
             }
         }
         return shading;

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDTilingPattern.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDTilingPattern.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDTilingPattern.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/PDTilingPattern.java Sun Mar 14 16:08:57 2021
@@ -20,7 +20,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import org.apache.pdfbox.contentstream.PDContentStream;
 import org.apache.pdfbox.cos.COSArray;
-import org.apache.pdfbox.cos.COSBase;
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSStream;
@@ -201,13 +200,8 @@ public class PDTilingPattern extends PDA
     @Override
     public PDResources getResources()
     {
-        PDResources retval = null;
-        COSBase base = getCOSObject().getDictionaryObject(COSName.RESOURCES);
-        if (base instanceof COSDictionary)
-        {
-            retval = new PDResources((COSDictionary) base, resourceCache);
-        }
-        return retval;
+        COSDictionary resources = getCOSObject().getCOSDictionary(COSName.RESOURCES);
+        return resources != null ? new PDResources(resources, resourceCache) : null;
     }
 
     /**
@@ -229,13 +223,8 @@ public class PDTilingPattern extends PDA
     @Override
     public PDRectangle getBBox()
     {
-        PDRectangle retval = null;
-        COSBase base = getCOSObject().getDictionaryObject(COSName.BBOX);
-        if (base instanceof COSArray)
-        {
-            retval = new PDRectangle((COSArray) base);
-        }
-        return retval;
+        COSArray bbox = getCOSObject().getCOSArray(COSName.BBOX);
+        return bbox != null ? new PDRectangle(bbox) : null;
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java Sun Mar 14 16:08:57 2021
@@ -152,7 +152,7 @@ public abstract class PDShading implemen
     {
         if (background == null)
         {
-            background = (COSArray) dictionary.getDictionaryObject(COSName.BACKGROUND);
+            background = dictionary.getCOSArray(COSName.BACKGROUND);
         }
         return background;
     }
@@ -168,7 +168,7 @@ public abstract class PDShading implemen
     {
         if (bBox == null)
         {
-            COSArray array = (COSArray) dictionary.getDictionaryObject(COSName.BBOX);
+            COSArray array = dictionary.getCOSArray(COSName.BBOX);
             if (array != null)
             {
                 bBox = new PDRectangle(array);

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType1.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType1.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType1.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType1.java Sun Mar 14 16:08:57 2021
@@ -84,7 +84,7 @@ public class PDShadingType1 extends PDSh
     {
         if (domain == null)
         {
-            domain = (COSArray) getCOSObject().getDictionaryObject(COSName.DOMAIN);
+            domain = getCOSObject().getCOSArray(COSName.DOMAIN);
         }
         return domain;
     }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType2.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType2.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType2.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingType2.java Sun Mar 14 16:08:57 2021
@@ -57,7 +57,7 @@ public class PDShadingType2 extends PDSh
     {
         if (extend == null)
         {
-            extend = (COSArray) getCOSObject().getDictionaryObject(COSName.EXTEND);
+            extend = getCOSObject().getCOSArray(COSName.EXTEND);
         }
         return extend;
     }
@@ -82,7 +82,7 @@ public class PDShadingType2 extends PDSh
     {
         if (domain == null)
         {
-            domain = (COSArray) getCOSObject().getDictionaryObject(COSName.DOMAIN);
+            domain = getCOSObject().getCOSArray(COSName.DOMAIN);
         }
         return domain;
     }
@@ -107,7 +107,7 @@ public class PDShadingType2 extends PDSh
     {
         if (coords == null)
         {
-            coords = (COSArray) getCOSObject().getDictionaryObject(COSName.COORDS);
+            coords = getCOSObject().getCOSArray(COSName.COORDS);
         }
         return coords;
     }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java Sun Mar 14 16:08:57 2021
@@ -86,7 +86,7 @@ abstract class PDTriangleBasedShadingTyp
     {
         if (decode == null)
         {
-            decode = (COSArray) getCOSObject().getDictionaryObject(COSName.DECODE);
+            decode = getCOSObject().getCOSArray(COSName.DECODE);
         }
         return decode;
     }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java Sun Mar 14 16:08:57 2021
@@ -287,11 +287,11 @@ public class PDExtendedGraphicsState imp
     public PDLineDashPattern getLineDashPattern()
     {
         PDLineDashPattern retval = null;
-        COSBase dp = dict.getDictionaryObject( COSName.D );
-        if( dp instanceof COSArray  && ((COSArray)dp).size() == 2)
+        COSArray dp = dict.getCOSArray(COSName.D);
+        if (dp != null && dp.size() == 2)
         {
-            COSBase dashArray = ((COSArray)dp).getObject(0);
-            COSBase phase = ((COSArray)dp).getObject(1);
+            COSBase dashArray = dp.getObject(0);
+            COSBase phase = dp.getObject(1);
             if (dashArray instanceof COSArray && phase instanceof COSNumber)
             {
                 retval = new PDLineDashPattern((COSArray) dashArray, ((COSNumber) phase).intValue());
@@ -406,14 +406,8 @@ public class PDExtendedGraphicsState imp
      */
     public PDFontSetting getFontSetting()
     {
-        PDFontSetting setting = null;
-        COSBase base = dict.getDictionaryObject(COSName.FONT);
-        if (base instanceof COSArray)
-        {
-            COSArray font = (COSArray) base;
-            setting = new PDFontSetting(font);
-        }
-        return setting;
+        COSArray font = dict.getCOSArray(COSName.FONT);
+        return font != null ? new PDFontSetting(font) : null;
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDSoftMask.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDSoftMask.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDSoftMask.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDSoftMask.java Sun Mar 14 16:08:57 2021
@@ -103,7 +103,7 @@ public final class PDSoftMask implements
     {
         if (subType == null)
         {
-            subType = (COSName) getCOSObject().getDictionaryObject(COSName.S);
+            subType = getCOSObject().getCOSName(COSName.S);
         }
         return subType;
     }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceDictionary.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceDictionary.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceDictionary.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceDictionary.java Sun Mar 14 16:08:57 2021
@@ -16,7 +16,6 @@
  */
 package org.apache.pdfbox.pdmodel.interactive.annotation;
 
-import org.apache.pdfbox.cos.COSBase;
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 
@@ -65,12 +64,8 @@ public class PDAppearanceDictionary impl
      */
     public PDAppearanceEntry getNormalAppearance()
     {
-        COSBase entry = dictionary.getDictionaryObject(COSName.N);
-        if (entry instanceof COSDictionary)
-        {
-            return new PDAppearanceEntry((COSDictionary) entry);
-        }
-        return null;
+        COSDictionary entry = dictionary.getCOSDictionary(COSName.N);
+        return entry != null ? new PDAppearanceEntry(entry) : null;
     }
 
     /**
@@ -103,15 +98,8 @@ public class PDAppearanceDictionary impl
      */
     public PDAppearanceEntry getRolloverAppearance()
     {
-        COSBase entry = dictionary.getDictionaryObject(COSName.R);
-        if (entry instanceof COSDictionary)
-        {
-            return new PDAppearanceEntry((COSDictionary) entry);
-        }
-        else
-        {
-            return getNormalAppearance();
-        }
+        COSDictionary entry = dictionary.getCOSDictionary(COSName.R);
+        return entry != null ? new PDAppearanceEntry(entry) : getNormalAppearance();
     }
 
     /**
@@ -144,15 +132,8 @@ public class PDAppearanceDictionary impl
      */
     public PDAppearanceEntry getDownAppearance()
     {
-        COSBase entry = dictionary.getDictionaryObject(COSName.D);
-        if (entry instanceof COSDictionary)
-        {
-            return new PDAppearanceEntry((COSDictionary) entry);
-        }
-        else
-        {
-            return getNormalAppearance();
-        }
+        COSDictionary entry = dictionary.getCOSDictionary(COSName.D);
+        return entry != null ? new PDAppearanceEntry(entry) : getNormalAppearance();
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceEntry.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceEntry.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceEntry.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceEntry.java Sun Mar 14 16:08:57 2021
@@ -102,15 +102,13 @@ public class PDAppearanceEntry implement
 
         for (COSName name : dict.keySet())
         {
-            COSBase value = dict.getDictionaryObject(name);
-
+            COSStream stream = dict.getCOSStream(name);
             // the file from PDFBOX-1599 contains /null as its entry, so we skip non-stream entries
-            if (value instanceof COSStream)
+            if (stream != null)
             {
-                map.put(name, new PDAppearanceStream((COSStream) value));
+                map.put(name, new PDAppearanceStream(stream));
             }
         }
-
         return new COSDictionaryMap<>(map, dict);
     }
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDChoice.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDChoice.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDChoice.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDChoice.java Sun Mar 14 16:08:57 2021
@@ -223,12 +223,8 @@ public abstract class PDChoice extends P
      */
     public List<Integer> getSelectedOptionsIndex()
     {
-        COSBase value = getCOSObject().getDictionaryObject(COSName.I);
-        if (value instanceof COSArray)
-        {
-            return ((COSArray) value).toCOSNumberIntegerList();
-        }
-        return Collections.emptyList();
+        COSArray value = getCOSObject().getCOSArray(COSName.I);
+        return value != null ? value.toCOSNumberIntegerList() : Collections.emptyList();
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java Sun Mar 14 16:08:57 2021
@@ -223,12 +223,8 @@ public abstract class PDField implements
      */
     public PDFormFieldAdditionalActions getActions()
     {
-        COSDictionary aa = (COSDictionary) dictionary.getDictionaryObject(COSName.AA);
-        if (aa != null)
-        {
-            return new PDFormFieldAdditionalActions(aa);
-        }
-        return null;
+        COSDictionary aa = dictionary.getCOSDictionary(COSName.AA);
+        return aa != null ? new PDFormFieldAdditionalActions(aa) : null;
     }
 
    /**
@@ -335,7 +331,7 @@ public abstract class PDField implements
     PDField findKid(String[] name, int nameIndex)
     {
         PDField retval = null;
-        COSArray kids = (COSArray) dictionary.getDictionaryObject(COSName.KIDS);
+        COSArray kids = dictionary.getCOSArray(COSName.KIDS);
         if (kids != null)
         {
             for (int i = 0; retval == null && i < kids.size(); i++)

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldFactory.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldFactory.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldFactory.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldFactory.java Sun Mar 14 16:08:57 2021
@@ -55,7 +55,7 @@ public final class PDFieldFactory
         // a field name (other than annotations)
         if (field.containsKey(COSName.KIDS))
         {
-            COSArray kids = (COSArray) field.getDictionaryObject(COSName.KIDS);
+            COSArray kids = field.getCOSArray(COSName.KIDS);
             if (kids != null && kids.size() > 0)
             {
                 for (int i = 0; i < kids.size(); i++)

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java Sun Mar 14 16:08:57 2021
@@ -25,7 +25,6 @@ import org.apache.commons.logging.LogFac
 import org.apache.pdfbox.cos.COSArray;
 import org.apache.pdfbox.cos.COSBase;
 import org.apache.pdfbox.cos.COSDictionary;
-import org.apache.pdfbox.cos.COSInteger;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.pdmodel.fdf.FDFField;
 import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationWidget;
@@ -69,14 +68,8 @@ public class PDNonTerminalField extends
     @Override
     public int getFieldFlags()
     {
-        int retval = 0;
-        COSInteger ff = (COSInteger) getCOSObject().getDictionaryObject(COSName.FF);
-        if (ff != null)
-        {
-            retval = ff.intValue();
-        }
         // There is no need to look up the parent hierarchy within a non terminal field
-        return retval;
+        return getCOSObject().getInt(COSName.FF, 0);
     }
 
     @Override

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDSignatureField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDSignatureField.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDSignatureField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDSignatureField.java Sun Mar 14 16:08:57 2021
@@ -138,12 +138,8 @@ public class PDSignatureField extends PD
      */
     public PDSignature getValue()
     {
-        COSBase value = getCOSObject().getDictionaryObject(COSName.V);
-        if (value instanceof COSDictionary)
-        {
-            return new PDSignature((COSDictionary)value);
-        }
-        return null;
+        COSDictionary value = getCOSObject().getCOSDictionary(COSName.V);
+        return value != null ? new PDSignature((COSDictionary) value) : null;
     }
 
     /**
@@ -153,12 +149,8 @@ public class PDSignatureField extends PD
      */
     public PDSignature getDefaultValue()
     {
-        COSBase value = getCOSObject().getDictionaryObject(COSName.DV);
-        if (value == null)
-        {
-            return null;
-        }
-        return new PDSignature((COSDictionary)value);
+        COSDictionary value = getCOSObject().getCOSDictionary(COSName.DV);
+        return value != null ? new PDSignature(value) : null;
     }
     
     @Override
@@ -177,13 +169,8 @@ public class PDSignatureField extends PD
      */
     public PDSeedValue getSeedValue()
     {
-        COSDictionary dict = (COSDictionary) getCOSObject().getDictionaryObject(COSName.SV);
-        PDSeedValue sv = null;
-        if (dict != null)
-        {
-            sv = new PDSeedValue(dict);
-        }
-        return sv;
+        COSDictionary dict = getCOSObject().getCOSDictionary(COSName.SV);
+        return dict != null ? new PDSeedValue(dict) : null;
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTerminalField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTerminalField.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTerminalField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTerminalField.java Sun Mar 14 16:08:57 2021
@@ -164,7 +164,7 @@ public abstract class PDTerminalField ex
     public List<PDAnnotationWidget> getWidgets()
     {
         List<PDAnnotationWidget> widgets = new ArrayList<>();
-        COSArray kids = (COSArray)getCOSObject().getDictionaryObject(COSName.KIDS);
+        COSArray kids = getCOSObject().getCOSArray(COSName.KIDS);
         if (kids == null)
         {
             // the field itself is a widget

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java Sun Mar 14 16:08:57 2021
@@ -128,8 +128,7 @@ public abstract class PDVariableText ext
      */
     public String getDefaultStyleString()
     {
-        COSString defaultStyleString = (COSString) getCOSObject().getDictionaryObject(COSName.DS);
-        return defaultStyleString.getString();
+        return getCOSObject().getString(COSName.DS);
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/measurement/PDRectlinearMeasureDictionary.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/measurement/PDRectlinearMeasureDictionary.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/measurement/PDRectlinearMeasureDictionary.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/measurement/PDRectlinearMeasureDictionary.java Sun Mar 14 16:08:57 2021
@@ -188,7 +188,7 @@ public class PDRectlinearMeasureDictiona
      */
     public PDNumberFormatDictionary[] getAreas()
     {
-        COSArray a = (COSArray)this.getCOSObject().getDictionaryObject(COSName.A);
+        COSArray a = getCOSObject().getCOSArray(COSName.A);
         if (a != null)
         {
             PDNumberFormatDictionary[] retval =
@@ -322,7 +322,7 @@ public class PDRectlinearMeasureDictiona
      */
     public float getCYX()
     {
-        return this.getCOSObject().getFloat("CYX");
+        return this.getCOSObject().getFloat(COSName.CYX);
     }
 
     /**
@@ -332,7 +332,7 @@ public class PDRectlinearMeasureDictiona
      */
     public void setCYX(float cyx)
     {
-        this.getCOSObject().setFloat("CYX", cyx);
+        this.getCOSObject().setFloat(COSName.CYX, cyx);
     }
 
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/measurement/PDViewportDictionary.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/measurement/PDViewportDictionary.java?rev=1887637&r1=1887636&r2=1887637&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/measurement/PDViewportDictionary.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/measurement/PDViewportDictionary.java Sun Mar 14 16:08:57 2021
@@ -17,7 +17,6 @@
 package org.apache.pdfbox.pdmodel.interactive.measurement;
 
 import org.apache.pdfbox.cos.COSArray;
-import org.apache.pdfbox.cos.COSBase;
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.pdmodel.common.COSObjectable;
@@ -84,12 +83,8 @@ public class PDViewportDictionary implem
      */
     public PDRectangle getBBox()
     {
-        COSBase bbox = this.getCOSObject().getDictionaryObject(COSName.BBOX);
-        if (bbox instanceof COSArray)
-        {
-            return new PDRectangle((COSArray) bbox);
-        }
-        return null;
+        COSArray bbox = getCOSObject().getCOSArray(COSName.BBOX);
+        return bbox != null ? new PDRectangle(bbox) : null;
     }
 
     /**
@@ -129,12 +124,8 @@ public class PDViewportDictionary implem
      */
     public PDMeasureDictionary getMeasure()
     {
-        COSBase base = this.getCOSObject().getDictionaryObject(COSName.MEASURE);
-        if (base instanceof COSDictionary)
-        {
-            return new PDMeasureDictionary((COSDictionary) base);
-        }
-        return null;
+        COSDictionary base = getCOSObject().getCOSDictionary(COSName.MEASURE);
+        return base != null ? new PDMeasureDictionary(base) : null;
     }
 
     /**